There are two ways to sync an iPhone calendar to Google calendar.
The best method is using ActiveSync (exchange server standard). This lets you edit appointments with invitations and it lets you add invitations. You can sync multiple calendars, but you need to configure this through a fairly obscure mobile-only web page (there's support for both Google standard and Google Apps calendars).
The next best option is to use CalDAV. With iPhone OS 3 you need to do this if you use ActiveSync for another account (such as your corporate calendar). CalDAV works pretty well, but you can't edit items that have guests (this hurts, might be a Google bug) and you can't invite people.
Here's where it gets weird. I feel I used to be able to select which CalDAV calendars to use from my iPhone. Maybe that was in an alternate universe, because it doesn't work now. You have to use another obscure web page, but at least this one is not mobile specific.
Incidentally, there's yet another way to configure iPhone CalDAV support -- use Apple's iPhone Configuration Utility. It apparently works at home as well as in a corporate settings.
My Google Reader Shared items (feed)