Development Machine
One of the key elements for iPhone development is a machine running OS X. There are currently no development tools to allow iPhone development on any other operating system. I’ve been a fan of Apple’s computers for a couple years now and already had a MacBook Pro. Fortunately, this allowed me to get started relatively quickly and easily.
Where to buy? I recommend moving next to an Apple employee and getting a 25% discount. That’s what I did and it worked out well. However, that’s not terribly practical for most people. I have bought refurbished Macs before and have been very happy. You can easily save a couple hundred dollars.

The above is from the Refurbished Store as of the writing, and shows that they have the “latest and greatest” available. Apple provides fantastic support for refurbished machines, treating them as new. I highly recommend going this route.
Once, I had my machine, I found out that OS X loves memory. Its memory model will allow it to take advantage of all the memory you can physically put into the machine. I upgraded my Mac’s RAM to 4GB (purchased from newegg.com as Apple’s memory prices are absurd). After putting the new modules in, I noticed a marked speed improvement. Applications are much faster to load, switching between is very fast. My machine is now a year old, and I still feel like it’s a better machine than most brand new computers I come across.

Many people have reported being very happy buying a basic Mac Mini for iPhone development. This is certainly a cost effective way doing so, especially if you don’t plan on using a Mac for your basic computing needs.
Once you have the machine you want, update to the latest OS X version and install the Apple Developer Tools.