I suspect Apple wanted AT&T to be the exclusive carrier for the iPhone as long as it was in existence. Customer backlash over the exclusivity agreement forced Apple to make the free market decision to terminate the AT&T exclusivity agreement before it expired because it was hampering sales and customer backlash.
There are various reasons why people don't like AT&T such as living in an area with poor AT&T coverage being the main reason. Also, AT&T released a popular phone without the network capacity to support the hot new gadget (which is why they had to get rid of unlimited data).
I have had mostly good experiences with AT&T but decided to switch to Verizon because they have somewhat better coverage than AT&T and also better call quality. The decision to switch to Verizon was made after an iPhone 3GS dropped three times during the same call and would not stay connected more than a minute (despite having 3-4 bars of signal). I also had issues with network capacity and dropped calls.
Holyoke Mall (Holyoke, MA) was a bad spot to have an AT&T phone (particularly around Christmas) because their network would get overloaded. I have no trouble with Verizon.
Market pressure forced Apple to allow the iPhone on other carriers. I am sure Apple is selling many more iPhones thanks to the end of their AT&T exclusivity agreement.
As for me, I cannot wait to get the iPhone 5 and the LTE will be a treat considering that I live in a 4G area.
I wish I still lived in Iowa; Everything there from rent and groceries to Cable TV is much cheaper in Iowa (especially with an overbuilder in town).
Yes, they are selling a lot more, but the majority of iPhones, by quite a margin are on AT&T, partly for legacy, and partly because Verizon still hasn't had an iPhone that fully utilizes their network (no simultaneous voice and data, and a long time to get LTE, while AT&T had HSPA+).