If you really want the iPhone then I would suggest wait until the summer because that's when Apple is planning on releasing the next gen iPhone. The big difference will be that the new iPhone will be released to numerous carriers instead of just AT&T. And with the introduction of any new handset on any carrier comes great deals on rate plans and rebates on phones.
Right now AT&T and Verizon are the most expensive carriers. Verizon trumping all of them. And Sprint is by far the best coverage, phones and price with the unlimited data, text and minutes plan they have. They're network is solid and extensive to the point that even Verizon piggy back's off of Sprint's network to deliver "the best 3g coverage in America".
I would wait until early summer to see what upcoming phones are going to be released since the MWC just ended less than a month ago. With new phones comes better rate plans and with the open handset alliance being driven by Google, these carriers are forced to bring the prices of their plans down.