I've been increasingly frustrated with AT&T lately. First of all there is the whole issue with throttling unlimited data. I was also upset when I realized that they are effectively condoning theft of phones by refusing to block stolen phones on their network (My iPhone 4S was stolen after I had had it for less than a week).
StraightTalk is an MVNO which means that it is a cell phone operator without their own network. What makes them different than the other MVNO:s in the US is that they allow you to "bring your own device". The devices you can buy that are actually paired with the service are kind of crappy, but since I can buy an unlocked phone and use it on their service that isn't a problem. Granted a good unlocked phone usually costs around $700 instead of the $200 you pay on a normal carrier with a 2 year lock in, but given how much cheaper it is per month I can buy a new phone every 8 months and still come out spending less money on StraightTalk than I did on AT&T upgrading once every two years. The phone you get for $700 is also a much better phone than you would ever get buying it through your carrier since it doesn't have any of the restrictions and bloatware that the carriers always insist is put on the phone before they allow it (For instance free tethering is a standard feature on unlocked phones, something the carrier will usually charge you a lot of money per month for). I also never bought my phones through AT&T anyway except for the iPhone since I generally want to be able to use my phone with my Swedish SIM when I go home, so for me it is just a pure win.