You don't really need a device to develop. Mainly testing on the device is just so you know it's not slow, it works on the device too, and so you can test that your user interface is easy to use. Unless you are doing very memory intensive games, first one probably won't be an issue, not too many things will work on the simulator but not work on the device, and designing a user interface that looks good on a simulator but sucks on the actual device is unlikely. So yes, to develop you don't really need a device. To release to the app store, yes you need a device.
And you can buy Xcode 4 for $5 and the SDK is free.