I use O2 in Germany, and while they're pretty much crap as well, as least I'm only paying a fraction of what I was paying with AT&T in the US.
AT&T allowed me to suspend my account, to where I was paying $10 a month to keep the number. When I tried to reactivate it, they wanted to charge me some arbitrary fee to reinstate the number, which I was never told about. They claimed to have e-mailed me about it, but that's a complete lie. I kept all my AT&T e-mails, and never once did they tell me about this. Then, when I went to cancel the contract, they forgot to do it and sent me a bill for another month. It's just ridiculous.
I've also had their customer service reps flat out call me a liar. Garbage, garbage, garbage company.
I never had that issue with Verizon... I only left them because of poor phone selection (basically super-fancy-new-Droid-Explosion or no dice).