Yes, but after 2 years and you've paid off the phone, that extra $30 or so comes off your bill (quite nice).With ATT, even after your contract expires, you're still paying that extra money for the subsidized phone.
Carriers are already moving to discount fully paid phones. AT&T hasn't done it yet but Verizon is and AT&T is likely to follow.
So that's half the problem - the other half is the locked handsets. With TMobile, you pay for unlocked you get a fully unlocked handset. If you are on the TMO installment plan, your phone is locked until you pay up, at which point they unlock it - no 2 years required.
After 40 days they are willing to unlock it too, you don't have to pay it off entirely...
Last I heard (6 months ago), AT&T makes you wait till your contract is up before unlocking, and on the other side Verizon won't let you bring your unlocked phone to their service - forcing you to buy one from them.
AT&T hasn't unlocked any of my iPhone's... and still won't even after my contract with them was ended in good standing.
I was able to use their unlock portal to request and receive unlocks for all of my iPhones (3G, 4, 4S) after my contract was up.
After how many years of pocketing the extra money? I feel like T-Mobile is truly disrupting the industry, and I'm voting with my wallet to support them. I can't wait until the other carriers actually start competing with T-Mobile, instead of just playing catch up. I hope that's when the industry actually becomes consumer-friendly, instead of hostile.