AT&T is just greedy and not upgrading their network effectively, but the real problem is Apple. They were completely stupid to allow exclusivity of iphone to AT&T.
Were I am Apple shareholder I would be complaining about this loudly at every shareholder meeting screaming "release the profits! Open up iphone to other carriers!"
Conversely, just think how much more money AT&T would have to upgrade their networks if they were not paying Apple for the exclusivity?