Pre-iPhone, most contracts were one-year, and typical expensive phones cost $3-400 unlocked. Post-iPhone, phone costs go up, so contracts get longer, but now the carriers are in a position where they're treating expensive iPhones the same as the same as less-expensive base-model Androids. Sure, they can make a killing on the less-expensive phones in that model - since the subsidy amount is greater than the cost of the phone - but it gave T-Mobile incentive to ditch the model and pass on some of the savings to budget-conscious consumers.
And ultimately, that's not such a bad thing for the carriers, but it is a bad thing if almost all the phones you sell are on the "more expensive" side, since you're now competing more directly on price.
Second, the carriers are smart enough to realize that even with relatively old phones data usage is still pretty high. The carriers now make their money on metered data so they want to avoid the capital outlay required to subsidize a phone if they don't need to for customers to stay data hogs. T-Mobile provided a real world experiment that likely found attrition to be low enough even with contracts gone that it was worth removing the subsidy.
Tl;dr The carriers are cheap and don't want to lend you money for a new phone when you still pay them a lot to use your old one.
US had a crappy system. TMobile innovated. Even if that innovation was to copy a system from another country, to our market it was an innovation.
I could update my statement to say
"Most innovation in the AMERICAN cell phone market has been through T-Mobile"