With the iPhone Simulator, you can quickly prototype your ideas, debug memory leaks, simulate memory warnings, and get a good feel for how your app is going to work. However, since the iPhone Simulator simulates APIs, not hardware, the iPhone Simulator is not a replacement for testing on an actual device.
When you run your application in the iPhone Simulator, you're running a Mac OS X, 32-bit, Intel-architecture application, and it's running at the native speed of your Mac. Conversely, your iPhone has features your Mac doesn't—like GPS and an accelerometer—and the iPhone Simulator might provide different information from what you'd get on a device (for example, Core Location always returns a location in Cupertino, CA). In addition, if you only test on the iPhone Simulator, you might not get the true behavior of your application, such as video frame rate, memory capacity, network access and access to the camera.