I have AT&T, and really don't hate it at all.
It's turned into one of those things where one person says something negative, and then the next person follows, and so on and so forth, until it's completely convoluted. Someone said AT&T sucked, and it has since become this stigma in society and the media that AT&T is the devil's spawn.
AT&T is quite fast, and it's actually cheaper than Verizon, although with some spotty coverage in certain places. That being said, sometimes my AT&T phone gets better service than Verizon phones.
Just my opinion.
It really is personal opinion and history for everybody.
I had no trouble with my AT&T iPhone from the first one until the 4. But when I moved farther away from the city and used my iPhone as my only phone, AT&T's network issues arose like hell. I constantly drop calls at my home no matter where I'm at. I had two drop yesterday, one drop today. It's pretty much just a matter of time if I talk for more than a minute.
Yes, AT&T's 3G network is faster. But what if you venture into an area with only EDGE coverage? From what I hear from other users, Verizon has much better call reliability. I'm thinking the Verizon data speed won't affect me most of the time since I have WiFi at home and WiFi at work. A lot of places where I like to eat lunch have an almost non-existent AT&T signal, which means no data. If Verizon gets coverage, anything is better than zero.
So it is personal preference and where you live. You can pretty much tell what a carrier's drawback is going to be by the commercial. When AT&T brags about speed, you can tell the drawback is coverage and quality. Verizon brags about wide coverage, which means it's not as fast. Sprint brags about unlimited data, which means the coverage is spotty and the data is slow.