I'm mainly using Google Calendar however. The main reason is simply that it has a simple, intuitive interface and you can access it from everywhere and every computer (due to web interface). Having it however automatically synchronized with my iPhone would be great. So in this way you can get immediately your notifications on your phone. Ok, you could also use Google Calendars SMS service, which notifies you with an SMS (for free) about upcoming events. And in addition, having everything in sync, you can add new entries on your iPhone, immediately when they come to your mind, without having to be in front of your computer.
But enough blabla, the good news is that there actually exists a "workaround" for getting all this. It is a service, called "Nueva Sync" , which makes use of the MS Exchange account for synchronizing your Google Calendar. This page...
Another great option for synchronizing Google Calendar with your iPhone is the "SaiSuke" application. It has a much nicer representation than the original build-in iPhone calendar. Unfortunately "SaiSuke Free" supports only one-way (from GCalendar down to iPhone) and just one calendar.
The "SaiSuke Pro" app costs $9.99 but I think it may be worth to buy it.