Tmobile is actually really kind and great, in my opinion.
First off, they're the only carrier to not enforce IMEI tracking (pardon the terminology if wrong) for data phones. I worked in the cell phone business and my ATT rep told me that ANY smart phone, whether it's an unlocked phone from overseas or whatever, will require a data plan once its IMEI is active on the ATT network. With Tmobile, they do no such thing (unless, obviously, it's their own smartphone). I have been using an iPhone on TMo for 3 years now, and it wasn't until recently that I decided to add a data plan. When I got a 4, I gave my 3GS to my dad, so at one point, we had two iPhones on TMo with no data plans REQUIRED (because we didn't need/use it).
I'll concede it would be ridiculous to REQUIRE a data plan for the iPhone for Tmo cause they don't support it, but I like that they allow OTHER unlocked smartphones to be used without a data plan. That's what I like about my carrier - they're not always telling me what to do. There are some people out there who don't need/want data, but want an Android/smart phone to use on wifi!
Secondly, the pricing cannot be beat. Right now our bill averages $85 a month. That's for 3 lines, unlimited texting on all 3 lines, 700 shared minutes (with unlimited nights and weekends and mobile to mobile), as well as an unlimited data plan for my line. I'm not one of those types who are like "well if you pay this much more, you get quadruple the minutes!!". I want to keep the price as low as possible.
Once someone finds me a carrier that doesn't require a family to have data if one person wants it (Sprint requires an entire family be moved to the Everything Data Share if only one person wants data...so even though two lines don't use data, they'll be paying for it), and a price as cheap as mine for the features (ATT and VZW don't come close), I'll concede that Tmo is not one of the better ones out there.