Smartphones have been "good enough" for a while now. Enough power and battery to do all the things needed for enough time before running out of battery.
IMHO there are 2 reasons we still regularly upgrade.
"Obsolescence" wether it would be perceived new hardware features or just new software not being available
Use/breakage (I include batteries dying in that) with no reasonable way to replace parts
I've had a few phones over the years some of them I "legitimately" just broke (one had a cracked mb after a bike accident)
I broke my second to last phone trying to replace the battery (thought I would be able to, broke the screen).
The fact that everything is glued down and made to not be replaceable irked me so much that my current phone is a Fairphone. Replacing the battery takes 1 minute and requires no tools. Replacing the screen takes like 5 min and 8 screws.
I plan on using this phone for at least 5 years more if possible. But I understand not everybody can shell out 600 dollars for an "OK" phone.