In the past I just used Google’s online calendar. It was simple and fast to use, yet provided some powerful features. However, since upgrading to Leopard and using the new version if iCal (version 3), I looked for a way to do a two-sync of Google Calendar and iCal. There are a number of programs (some for pay and some free) that do this. The solution that I chose was GCALDaemon. It was quite difficult to set up and, at least when I was using it, required some tweaking to get it working on Leopard. Also, I had to set up a bash script on my desktop that I needed to run anytime I wanted to sync. It worked okay but sometimes would get confused and mess up some entries.
Rather than explain it anymore, here are Google’s setup instructions.