Warning: This post is more technical and boring than most on this blog. Really.
I have had an Iphone for about a year, and it's great for all of the reasons you have heard--nice design, apps, integration with music, etc.
I used to have a BlackBerry, which was fine but inferior to the Iphone in many ways. One advantage that he Blackberry had was "push email"--your emails appeared on your device immediately, and a little light went off when you had a new message. The Iphone instead "polls" for email, meaning it check your email server occasionally for new mail. This means you might have wait--gasp--a half hour or so for your messages to show up on your Iphone! Such a delay is of course totally unacceptable, especially if you're used to the CrackBerry experience. Also, the Iphone doesn't even notify you on the main screen when you have new mail.
Recently, though, Apple has been allowing "notification" applications, which will play a sound and display a message on the screen when you receive a new email. I tried three of these email notification services recently. Two were terrible, and one has worked pretty well so far:
Gmail Growl: Not so good. First, it only works if you have a computer that is always on and connected to the Inteernet. Second, it's complicated: you need to install two pieces of software on your computer, the Prowl app on your Iphone, and then configure everything properly. Third, it only works for Gmail; this is fine for me but not for everyone of course. Fourth and worst, I could never get it to work consistently; it stopped sending notifications after a day or so, forcing me to reinstall the software over and over again.
GPush: This is a standalone Iphone app, so there's no need to install software on your computer. It also only works for Gmail, though. And in my case it stopped working after about half a day. I fiddled with settings a bunch of times, which was no fun. Apparently I'm not the only one that was frustrated by this; it has a terrible rating in the App Store.
PushMail: This one works. It's an Iphone app, so that is good. You install it, create and username and password. You then set your email to forward incoming messages to an address that PushMail provides (while making sure you also keep the incoming messages in your normal email account). PushMail uses these to send notifications to your Iphone screen. You can set it to only provide notifications for some messages (i.e. from particular senders), to notify you on the screen, and to play a sound when new mail arrives. More or less just like BlackBerry. So far this has worked flawlessly for me, and I'm very happy with it. One concern is that you are forwarding some or all of your mail to PushMail. They state very clearly that they immediately discard this, but some might worry about it. Not me though, as my email is so boring that no one would gain anything by reading it!