It’s been that way for years. Sure, every year they release the best iPhone ever, but is there really any “must have” feature that drives a year-over-year upgrade? The XS was a better X in about twenty different ways, but most X owners didn’t feel the need to upgrade.
iPhones are lasting at least 5 years, and have been since the 2015 models. (I’m not a big picture taker, so my 6s does everything I need it to. If it gets iOS 14 I’ll keep it until 2021.)
People mostly replace their iPhone when they lose it, break it beyond repair or if it no longer gets updates. For some, it’s not when the need to, it’s when they want to; a new feature appeals to them, or they just upgrade every year or whatever.
But Apple’s got an installed base upwards of 1.1 billion iPhones, and iPhone users are very loyal. Even if each only buys a new phone every five years, they’ll still sell 200+ million a year.