The iPhone is usually locked into a two year contract, and new much improved models have been coming out every year. This leads to a purchasing pattern of buying a new phone every two years regardless of whether you switch carrier or not, and almost never switching carrier inside the two year period.
I have no contract. I have the 3Gs and I would easily switch to Verizon if my 3Gs was also CDMA without purchasing a phone. Do you think everybody buys phones every 2 years just because their contract is ended?