AT&T's upgrade offer for iPhone 4 is "generous," as Steve Jobs put it. Any iPhone owner eligible for an upgrade any time this year can upgrade immediately—up to six months early. But maybe you shouldn't.
You're probably familiar with the standard contract-subsidized phone. By tying yourself to a carrier for 2 years, they pick up most of the cost of your new phone. Then you wait 2 years to renew your contract—so the carrier can recoup the money they fronted you on the phone—and pick up a new one at that deeply discounted rate, beginning the cycle all over again. AT&T is letting people upgrade to the iPhone 4 just 18 months into their current contract, so they can immediately get an iPhone 4 for $200 or $300. It's so generous, it's suspicious.
It seems clear that AT&T is desperate to hitch current iPhone owners to a new 2-year contract as soon as possible, rather than letting them linger for another six months. The question is "Why doesn't AT&T want people to wait six months to upgrade?"
In 2008, AT&T allowed original iPhone owners to upgrade to the iPhone 3G and pay the same $200 as everybody else—effectively cutting the upgrade cycle down to a year. Which planted the expectation that they'd do it again for the iPhone 3GS. They didn't, and people (fanboys) were outraged. And the 3GS didn't even remotely approach the kind of massive upgrade the iPhone 4 is. So maybe it's brownie points, which is what AT&T is officially saying: