I've been stuck using an iPhone 3G for the last 18 months because of Apple's upgrade policy. As you can imagine it pissed me off a bit when I learned I couldn't upgrade to the 3GS, however I knew it was just a matter of time before a newer version would be out and to my joy the iPhone 4 will be available June 24th.
After 18+ months the iPhone 3G is super slow and crashes a lot when I'm running the iPod and trying to use the maps navigation app. I can't wait for the added 8GB of space since my current 8GB iPhone is packed full of music, apps and movies.
Since I'm going to get an iPhone 4 soon after it releases, the only real question is do I extend my AT&T contract another 2 years to get the discounted price? If I do take the $199 price I'll be a slave for the next few years and I'll be forced to stay on the 2 year upgrade cycle that has already made me upset. If I don't take the upgrade price the phone is around $599 but I can upgrade at any time and I can always sell my old one. Tough decisions!