Personally, I find the To Dos severely lacking in iCal. I would love to find a program that allows repeating To Dos. Out of the ones I've seen in the application store, To Do by Appigo seems to be pretty good.
Cultured Code has released an iPhone version of Things. The desktop version syncs with iCal. If you read the FAQ they're working on iPhone Things syncing properly with desktop Things, which means it will sync with iCal.
Appigo's ToDo is a task manager for the iPhone and iPad that is excellent. It will sync with online services like Remember the Milk and Toodledo. It can also sync with iCal's To-Do's via a helper application called Appigo Sync.
I use this in conjunction with iGeeTaskForiCal to sync with Google Tasks.