If you've upgraded your Mac to Snow Leopard (10.6), it's now dead simple to synchronize iCal with your Google Calendar. While in Leopard you had to either know detailed CalDAV settings or install a helper application, in 10.6's iCal you can just open up the Preferences pane. Under Accounts, click the + button to add an account. Enter your full gmail address (email@example.com) and your Google Account password, and iCal will detect and configure the CalDAV settings for you. This is full two-way sync, so changes you make to events in iCal show up in GCal and vice versa.
Pro tip: Google Apps account users, iCal won't automatically detect you're using a Google Account. From the Account type drop-down, choose "Google" and then enter your full email address and password to get your GCal in iCal. This also works for Yahoo Calendar, Exchange 2007, and any other CalDAV server as well.
CORRECTION: Contrary to what I posted earlier and said on TWiG, multiple Google Calendars are indeed supported! In iCal's Preferences, go to Accounts, then Delegation to check off as many secondary calendars as you want to sync to iCal. My apologies for the mistake! Thanks, Stuart!
Update: Sadly this sync only works with your primary GCal or Outlook calendar, not any of your secondary calendars. Google's official word on this:
It's not possible to sync events on secondary calendars at this time. Google Calendar Sync will sync only events from your primary Google Calendar (first one in your list) and your default Microsoft Outlook calendar. If you've scheduled events on a secondary calendar in Google Calendar that you'd like to sync with your Microsoft Outlook Calendar, you can either move the event to your primary calendar or export your entire secondary calendar and import the events to your primary calendar."