The GTD and to-do list programs that are getting a lot of attention these days are Things (Cultured Code) or OmniFocus (The Omni Group). But what about Mail.app and iCal?
Before I actually discuss Mail.app and iCal, I’d like to talk about what I like and don’t like about Things and OmniFocus. First of all, Things is a really beautiful app, and probably my favourite above all in the area of third-party GTD software.

Things from C.C. is a beautiful and easy way to manage your tasks, complete with tags.
My experience with Things has really been quite positive, and if it weren’t in expiring beta, I might even use it. Synchronisation with iCal is a really nice feature too. But, as I said, I won’t use it because I can’t afford software on my computer to suddenly expire. If I were able to buy it right now, I would, but they don’t let you purchase until the application is actually released for real.
Another popular application is OmniFocus, which is the spawn of The Omni Group and Kinkless GTD (a set of macros for OmniOutliner). I tried it out, and was thoroughly unimpressed. The program was not nearly as user-friendly as Things, and all the parts of it seemed to be very distracting to my taste. So, I deleted it.

OmniFocus is an outline-based GTD app for OS X that failed to be awesome. The outline layout doesn't really work for me. I like things to be more free-form.
There are some other programmes that are so terrible, I won’t even show screenshots of them (ahem, iGTD, ahem).
Finally, there is iCal and all the extensions thereof. iCal in itself doesn’t provide a really nice way to organise tasks. It also ticks me off a little bit that they took away the tasks drawer and replaced it with a sidebar. I agree that the use of drawers can be excessive, but in the case where there is a sidebar already on one side, I think if any more sidebars are needed, they should be drawers. Two sidebars looks silly. Also, if the “sidebar” is collapsable, it should be a drawer. That is my opinion.
Though iCal doesn’t make tasks very fun, there are some really great apps that dig into the Leopard Calendar Store. One is Mail.app (yes, I know that it is silly to say the “dot app” bit, but they named it so ambiguously!). To Dos in Mail Notes are very useful. I can make a very freeform note about anything, and then tag certain pieces as tasks, add due dates, priorities, specify which calendar whither they are to go, &c. It doesn’t support keywords or tags or anything of the like, but I just use “@blog”, “@home”, &c. Then, so I can take my tasks all over my computer, I use the excellent heads-up-display (HUD) app, Anxiety, which uses the Leopard Calendar Store. It is really quite perfect for me.

Anxiety is an awesome task manager that plugs into iCal. It is free and unobtrusive. For the record, this screenshot does NOT contain my to-do list. I do not use Block Buster, know anyone named Sammy or Carina, and I most definitely don't go out looking for tans.
The only thing I am missing is synchronisation with my iPod touch. The fact that I cannot synchronise iCal tasks to Calendar on my iPod is one of the most retarded things I could ever come up with. Great job, Uncle Steve.
Conclusions:
If you aren’t afraid of your software expiring, and after that you don’t mind paying for it, I would suggest that you use Things. It is definitely the most polished. If you are like me (paranoid about expirations, very stingy), I would stick with Mail.app Notes and To Dos, and get something along the lines of Anxiety.