If consumers paid out of pocket for their phones then they would be more picky about upgrading and plan prices. It would also make upselling shitty plan features harder so the carriers would loose a lot of money.
AT&T’s prepaid plans start at is 25$/month for unlimited calls & text, “Unlimited” data (After 16GB it degrades to 1.5mbps) + 10Gb tethering. Meanwhile their cheapest regular plan is 50$/month for worse service (4GB data).
Sure they don’t offer the best plans prepaid, but that’s basic price discrimination.
With a prepaid plan, you credit the operator, because you pay upfront, and the service is rendered after it, and ceases if your balance goes below zero.
With regular plans, the operator credits you, and you can be late with your payment for many days before the operator ceases servicing you.
So it's a month worth if credit, plus a different risk profile.
Also, it's market segmentation: the prepaid plan is the gateway drug %)