I wanted to have all my calendars sync between iCal, Google calendars, and my iPhone. The master copies of my calendars are the Google calendars. To sync them with iCal, I use Google's free Calaboration application.
To sync with my iPhone, I tried to follow the steps indicated on this page. The problem is that I have several calendars stored on Google. When I opened Safari on my iPhone and went to m.google.com/sync, I got a message that said "This service is not available for your device." The message was in German, since I am in Switzerland. It turns out that this webpage also allows you to choose a different language. I switched to English, and suddenly the service was available and I could continue setting up my calendars. Now all my Google calendars synchronize to my iPhone.
Mac OS X Hints
http://hints.macworld.com/article.php?story=20090707050738916