One option i've been thinking about is picking up someone's 3GS (after they upgrade to the 4 since I wouldn't want to pay $99 to end up with a 2 year contract renewal). Apple has a good 3GS vs 4 comparison here. That choice gets me a reportedly more-stable phone than the 3G, multi-tasking on the new iOS4, a much better camera (but without flash), video recording (but not HD). Essentially its a very good upgrade from my current 3G phone. With people upgrading perhaps I can get a 3GS for free/cheap without renewing my contract. That buys more time until something more appealing comes along.
Of course, there's always the need to have the latest and greatest NOW. Perhaps some time with the 3GS on AT&T will make me hate AT&T less and i'll be ready to lock in for longer.