"Free" isn't really "free". The cost of the phone is wrapped into your monthly bill - and you keep paying that fee even after you pay it off. Which is why you're locked into a 2 year agreement. The first year, you're paying off the "free" phone, the 2nd year the phone company makes a ton of money off you by overcharging you. This is also why you can't upgrade until you're near the end of your contract. And this is also why you pay penalties if you end your contract early.
Why pay more than you have to? Why get locked into a contract and then be restricted by when you can get a new phone?
You can buy the phones outright at T-Mobile, and get a lower monthly bill, because they're separated from each other. They have interest free installment plans to pay off the phone if that's the direction you want to go, but once it's paid off, you're done. You're not paying extra for the luxury of thinking you have a "free" phone.
To top it off, there are no annual contracts, and no waiting until you're "eligible" for another "free" phone. You can get a new phone whenever you want, and you can leave whenever you want with no penalties.
* Disclaimer: I do work for T-Mobile, so I'm just a tad biased.