No doubt iPhone simulator is one of its kind and as far as User Interface is concerned, I think iPhone Simulator does justice to all the Library elements that one could play with while developing the application. But I did come across somethings which really did bother me for sometime before I got used to them.
First point was related to the PERFORMANCE. Currently the simulator uses the Mac processor for simulation. If there could have been a way that could make the iPhone simulator behave as if it was running on a 600MHz processor with only 256 MB of RAM, I think it would have been a real boon for developers. This is because though you know almost always that the performance on real iPhone is gonna be low as compared to the simulator, sometimes the difference is astonishing 🙂 😦 .
Second was with MEMORY. You could go ahead and allocate lot more memory on the simulator with your application still not worried about the load but as soon as you do that on iPhone, you would realize that your code actually needs a lot of rework.
Then other points were related to graphics. There were cases where simulator worked fine but iPhone did not and then there were others which left simulator frowning.
Not to forget the positioning of info icon, toolbars etc (which would be positioned differently on simulator and on actual iPhone).
One should always keep in mind that there is no alternative to On Device testing. Simulator does help but to a certain extent (and is always required) but an iPhone is a must.
So go get the iPhone and let your development rock.