T-Mobile is fine in urban areas, but in rural areas like mine it's garbage. I was a T-mobile subscriber for ten years. I then switched to Sprint because they had "3G" service, but the towers in my area ended up being 3G radios fed by what must have been 56k ISDN lines. I also noticed that my phone would frequently roam on Verizon towers.
T-Mobile has 4G around here now, but it's still confined to inside towns. Venture out into the 30 mile patches of nowhere in between towns and you're back to 20th century "EDGE" speeds.
I finally got tired of putting up with shitty service, all to save $20 a month. I get 50 Mb/s in the middle of nowhere with Verizon. With T-Mobile I couldn't even make a call for short stretches on my commute home.