Contract subsidies are kind of coming back in the form of "trade in bill credits.". Previously you'd sign a 2 year contract and they would subsidize your phone, however; I just got $800 of trade in credit at Verizon for a phone they normally give $150 for.
The catch, of course there are many... the bill credits are over 3 years, and in my case fully offset the cost of the monthly phone purchase price; if you leave you need to pay off the remaining balance, and if you upgrade you lose your credits. Also you need to be on an unlimited plus plan.
However; I now have a new phone with no additional monthly payments. The last Samsung I had made it 5 years, and the new one actually has a serviceable battery!
If you break your new phone, you can't fall back to your old one and you will have to pay over MSRP for a replacement if you buy it from your carrier. That's the real reason they want you to trade the old phone. That and to kill the resale market.
I ended up getting the S23 Ultra, (had to come out of pocket a bit), and if you get Samsung's Care+ insurance it's $8 a month, so basically $100 a year if something goes catastrophically wrong. I will probably carry that insurance for the first two years or so of owning the phone. Given I rely upon my phone for a ton of business, my home phone, social communication etc, it seems fairly reasonable as they claim to have 24 hour replacement.