I too used to buy phones based on their hardware specs.
Then I got frustrated that I had to buy a new device every 2 years just to get a software update. My 5 year old iPhone got iOS 13.4 at the same time as everyone else.
I'm sorry but if you're looking to use the same phone for 5 years then you're an absolute minority.
Smartphone medium progresses really quick - 5 years is a very very long period of time. Even for laptops - a relative ancient medium that has very little new meaningful inovation - 5 years is still a long time.
Because most phones are junk after 5 years, not because people like to dump $400-$1000 bucks every 24 months. Most people don't want to replace their phone on a regular basis, unless they are enthusiasts. "It got slow" or "the battery doesn't last anymore" or "I broke my phone" are very common reasons why people upgrade.
People want their durable goods to last. Stats have shown that people have been keeping their smartphones longer for the past handful of years as the technology is maturing. This will continue as tech improves, just like it has for every other durable good.
Then I got frustrated that I had to buy a new device every 2 years just to get a software update. My 5 year old iPhone got iOS 13.4 at the same time as everyone else.