I wasn't going to write anything because I just like to read what others say, but this is the most whining I've ever seen.
First of all, get over it! If you want to upgrade now and your contract is not ended, you have to pay for the fee. Its plain and simple. Sell your current phone to make up for the difference if you really want it that bad. You are not suppose to upgrade every 12 months. You are suppose to upgrade every 18 or 24 months depending on your contract. It's the same in every business. You don't get privilages just because you have an iphone. Many people didn't upgrade from 2g to 3g last year when it was released. Now, they can upgrade and you can wait, and when the next one is released in a year, you'll upgrade without any penalty fees and the rest can whine 
Second, while its not a major upgrade, it is still an upgrade, and a decent one none the less; better battery, faster, higher capacity, compass, voice commands etc. You can't expect apple to max out every spec on the phone. If they did, you'd be disappointed in the future upgrades because there won't be much to upgrade. People are buying Iphones anyways. 
It's a good opportunity for those with 2g to upgrade now. It is also a good opportunity for those who never had an iphone. I was holding on until a 32GB model, so I'll probably buy one now when I'll have the money for it.
If you think it's not a good upgrade, stop complaining and stick with your 3G or whatever phone you are using. It's perfectly fine. That's what I would have done if I had a 3G. They are going to release another one in 1 year anyways.
if you think it's expensive, well think about it. It's more than a phone. If you are just going to use it as a phone, then yea its expensive. But considering all the things an Iphone can do, it's not expensive. If you are going to compare it to other smartphones, then why don't you just go buy one of those?