The iPhone is great. It is also very expensive if you don't qualify for or don't want to sign up for a two-year contract. If you want to live contract-free, you're looking at upwards of $800 for the phone. But Apple may be prepping a cheaper model for prepaid customers.
Rumor has it that Apple will soon sell a version of the iPhone for less than $350, no contract required. It may even be the iPhone 3GS, although I'm not sure how many people will want to spend that kind of scratch on a phone that'll be two generations old at that point.
And as for the iPhone 5, it should be hitting at around the same time: September. We should be hearing about Apple's next press conference soon, as it's rumored to be happening next month. And then we can start with the iPhone 6 rumors. What else do we have to live for, after all?