I think we're really downplaying how much the death of carrier subsidies have impacted the smartphone market.
When it was a question of whether you wanted to pay $200 to $300 every 2-years for a new phone, most consumers were comfortable making the swap, even if the feature set didn't blow their old phone out of the water. It also made it easier to justify upgrading if your phone was a bit damaged or dying quickly.
Now, consumers are saving on cellphone bills, but that doesn't mean that they're willing to put that savings towards a $900-$1100 device. Many would rather pay for a repair/battery replacement, buy a lightly used device or wait until their phone is absolutely shot. That price point also eats into the "gifting" market that used to be so big around the holidays. Family members or significant others may have been willing to shell out a few hundred to cover an upgrade fee, but the full cost is too much.
Add that to what others have said about the general plateauing of phone tech, and you find yourself in a situation where only people who absolutely have to upgrade or who NEED the newest tech (also diminishing) are reliable customers. That's probably also why they've continued the price creep on the top end models, to juice the profit from a contracting base of consumers.