In my honest opinion, the iPhone is in what I call a developing stage and there are still many more models to come with several hardware updates.
It would be a shame to waste money on it now as its going MAJOR DEVELOPMENT..
I feel stupid for buying the first iPhone 8GB - like a guinea pig - I got the first product - when OBVIOUSLY there would be the 16gb coming right around the corner. I could have hung those few months but chose not to.
The same way iPods, eg the Classic have reached what I would call saturation point as nothing more can be done to improve it, apart from maybe release it in different colours or maybe its design, so if you wanted to purchase one of those it would be more of an investment as it quite unlikely that the Classic is going to be upgraded every 5 minutes, and if you could afford the cash there would be no temptation to continuously upgrade the thing.
The short end of the story, whether it be $199 or $399 or even a 16GB, I suggest you wait because that cash will count believe me. Would you rather spend the cash to throw a party or a telephone. If you can wait a few months to a year you will find that the iPhone will have improved so much and you will be in a better position to judge your financial situation yourself, knowing how much you spend. And then buy a much more capable device than what you can get.
If you purchase iPhone now there will be huge temptation to upgrade it as there will be several more release models. And you will be tempted to spend more cash which will be tough.
Anyway your call....