Coming from AT&T, I can personally attest at just how bad it is. They loved trying to charge me for services I never used or even signed up for. They had a habit of giving my lines some free service for a month (without telling me or even giving me the choice) and then when I didn't cancel that service that I didn't know about at the end of the billing period, they would charge me for it from then on. Calling them up to take care of the overcharges was a nightmare every time. On several occasions, they would just hang up on me when I refused to admit to the charges.
Network coverage was easily as bad, and I live in a fairly metropolitan area (San Francisco Bay Area). It wasn't unusual for me to miss calls and then receive a voicemail notification some hours later, without the phone ever having rang. Same with text messages.
The final straw was when they decided to shut off their 2G network in my area, rendering my 2G Smartphone useless. They let me trade in my old 2G phone for a "comparable" 3G phone. But by that, they meant I could trade in my $500 Smartphone for some shitty feature phone.
I was on a grandfathered plan, significantly cheaper than any of their other plans, which was the only thing keeping me with AT&T, but after all that, I decided to say screw it and switched to T-Mobile and pay an additional $5 per month.