You can outdo a competitor on every factor and still lose because ranking is not an additive checklist. Beating a page on a list of measurable items does not guarantee you beat it on the signals Google actually weighs. Two things commonly explain the upset: the competitor holds authority, trust, links, and history that you cannot out-checklist, or you matched every visible factor but missed the one decisive thing, usually intent fit. In both cases the scorecard you won is not the contest that was being scored.
The mechanism is that ranking weighs signals against each other rather than summing checkmarks. A page does not earn a point for each factor and win on total points; some signals dominate others, and some carry weight that no amount of on-page improvement can substitute for. Domain authority and accumulated trust are built over time and through links and reputation, so a stronger, older competitor can hold a lead that your better headings, faster load, and longer content simply do not address. You optimized the things you could change and left untouched the thing that was actually deciding the result.
The second failure is more frustrating because it looks like a clean sweep. You can match or beat the competitor on every item you thought to check and still miss intent fit, the degree to which the page answers what the searcher actually wants. If their page resolves the real query a shade better, that single decisive match can outweigh your wins everywhere else. A checklist measures the factors you listed; it does not measure the one you did not, which is often the one that matters most. This is observed behavior about how the systems weigh signals, so hold it as a working model rather than a precise formula.
So when more-on-everything still loses, stop adding factors and hunt the one decisive gap. Compare the pages for intent fit first, then for the authority and trust you may not be able to match head-on, and decide whether the gap is closeable or whether a sharper angle is the better move. Find the lever that actually weighs, not ten more that do not.