Since most iPhones and iPod touches are, in fact, cameras, iPhoto will annoyingly launch itself every time you plug them in. It turns out, though, you can disable this behaviour — the setting is just a little hidden.
While previously mentioned preference pane Cameras used to be the best way to manage actions for connected cameras, Snow Leopard has actually integrated this feature into OS X. Instead of the setting being in iPhoto though (or, I don't know, iTunes), you have to open up the Image Capture application and look all the way to the bottom-left corner of the window. There, you should see a drop-down menu that says "Connecting this iPhone opens:". Here, you can pick the application you want to auto-launch ("No application" for me, thank you). And, this setting is device-specific, so if you'd rather keep iPhoto closed for your iPod but auto-launch it when you connect your Nikon camera, you can do that too.
Ending iPod Autoplay [Macworld]