I love the system utility Onyx. I've tried most of the others, including MacJanitor and Cocktail, but Onyx has always done a good job and has a great feel to it. Now I'm aware that most of them are simply running a series of unix maintenance commands to repair permissions, clear cache files and update catalogs. But I still find them easier to use than the Unix commands.
I am now an Applejack user. What is Applejack? Well, it's the uber disk repair script. While it does require a restart into Single user mode, it repairs way more than just the permissions. Too much to list here, but check out the link I provided. One of the big features is repairing bad bits on a drive. If you feel like your mac has been crashing more often than it should, the disk could be corrupted. Applejack will take care of that. It also cleans up virtual memory catalog structures.
Be careful though, Single user mode is quite powerful. I would recommend reading up on it before you try it.