How much of this is due to the carriers moving device contract lengths from 2 years to 3 years? Been at AT&T forever, they moved their upgrade cycles on iPhones from 24 months, to 30 months, and now to 36 months. Presumably because an iPhone costs more than it did 5 years ago but I'm still paying the same monthly that I was 5 years ago.
And, tbh, that makes sense too. Three year old phones can still run the latest software and still have pretty good performance. The newest are better and will certainly have better cameras, but the drive to upgrade every other year feels excessive now.