I posted this just about a year ago, when people were upset about the 3G upgrade policy, and it still holds true for the 3GS:
AT&T subsidizes the price of every phone it carries, by about $200. So that RAZR phone you got a few months ago for free was actually about $200. You’ve probably seen these un-subsidized prices if you’ve ever damaged a phone and had to purchase a new one at full price.
The new iPhone 3GS coming out has a similar policy, except that there is no grace for 3G owners since the 3G, unlike the original iPhone, is subsidized.
If you’re not near the point where you’ve paid off your subsidy — and usually that means being more than 18 months into your plan — you’re not eligible for an upgrade at the subsidized price. You can purchase an early upgrade for $200, which is essentially paying for a significant part or all of that subsidy, or you can purchase a plan- and subsidy-free phone for a $400 premium.