A comparison page wins when the searcher wants to choose between options side by side, the decision-stage intent behind “vs” and “best” queries, where seeing the contenders laid out together is the most useful thing one page can do. Individual review pages win when each item has its own deep research or transactional demand, where a searcher is focused on one product and wants the full, dedicated treatment. The pivot is wants-to-compare-side-by-side versus wants-a-deep-single-item, and the strongest setups often run both, linked together.
Neither extreme is right. “Comparison pages always win” ignores that many searchers have already settled on a single option and want depth on that one thing, a thorough review, full specs, real use, a buying decision for that item specifically, which a comparison page covering five products can never deliver at depth. “Make a page per product” ignores the searcher standing at the decision point who wants to weigh options against each other and is poorly served by being sent to five separate reviews to assemble the comparison themselves. The architecture has to match where the searcher is in their decision.
Read the intent in the query and the stage it signals. Phrasing like “X vs Y,” “best X for Z,” or “top X” is comparison intent: the searcher is choosing, and a single page that lines the options up on shared criteria serves that better than scattered reviews. A query that names one product, or that carries clear buying or deep-research intent for a single item, is review intent: that searcher wants one page going deep on that one thing. Crucially these are not rivals to choose between once and for all, they serve different searchers, which is why a comparison page and the individual reviews it points to reinforce each other.
For your own site, build a comparison page to capture the choosing-between-options searcher and individual review pages to satisfy the deep-single-item searcher, then link them so the comparison feeds readers into the detailed reviews and each review links back to the comparison. Map your target queries to comparison or single-item intent first, and let that mapping decide which page each query needs rather than defaulting to one format for everything.