too bad their coverage is horrible...
Depends on where you live. Most places I've been T-Mobile's coverage has been excellent. In my home town they actually have better coverage than even Verizon. The only exception I would have to give is travelling to remote areas of the southeast, where T-Mobile often doesn't have any coverage at all outside of the biggest cities.
As I was driving across the west/southwest a few months ago I was monitoring coverage and speeds on T-Mobile, AT&T, and Verizon as I drove. AT&T's coverage was by far the worst of the three... quite spotty with ton of dropped calls. Verizon had coverage for nearly my entire drive -- only lost signal a couple of times, but LTE was only available in limited areas, and their 3G isn't very fast.
In most cities of any size, actual throughput on T-Mobile's "4G" was at least as good as, and in the majority of cases faster, than AT&T's LTE -- T-Mobile consistently got 8-13Mbps everywhere I tested, but AT&T, even in LTE areas, was all over the map. I never saw a speed on AT&T LTE over 13 Mbps, and most of the time it was more in the 6-10 Mbps range for LTE and 2-3 Mbps for 3G. Verizon was by far the most consistent in terms of coverage. And their speed was consistent for a given cellular technology -- 10-18 Mbps on LTE, 1.5-2 Mbps on 3G.
I know that AT&T LTE can be fast. There is an AT&T tower across the parking lot from my office, and I consistently get 13-15 Mbps when I'm at work. But they tend to space their towers farther apart than other carriers, so coverage quality varies a lot more with their network than the others.
----------
VZW will have LTE everywhere by end of the year. AT&T pledged mid next year. They both already have much more LTE than TMo has 3G
That isn't true. T-Mobile finished upgrading their entire network to "4G" more than a year ago. AT&T's LTE coverage is still sparse. Verizon has a lot of LTE, but it doesn't cover anywhere near as much area as T-Mobile's 3G.
----------
Okay, but then explain to me how is this really any different? I pay $99 upfront for the iPhone and then pay $20 a month in installments, plus my phone plan. Then after say 6 months I decide to cancel with them and move on. If I choose to keep my phone I have to pay the balance (which is essentially like the early termination fee) of the phone in order for it to be unlocked. I'm obligated to buy the phone whether or not I choose to stay with them. That's essentially a contract. How is it any different?
Because you can sell the phone back to the carrier for fair market value... or pay it off, unlock it, keep it, and be done. Or if you pay for the phone up front, you just walk away without any ETF. None of the other carriers give you that option.