Yasu is my preferred tool for system maintenance and cleanup. You can read more about the technical details behind everything that it does on the author's website (follow the link in my list of Recommended Software at right). When you first open the software, you're presented with a confusing conglomeration of checkboxes. Above is a screenshot of how I recommend you configure the software before telling it to proceed.
Just be warned that after you click the OK button and enter your password to allow it to run, it will run all those various tasks, then restart your computer without further warning. Therefore, I recommend you run Yasu at the end of your workday, after quitting all other running programs, so that it can restart your computer without causing any disruption.
I find it sufficient to run the program about once a month to get things back in good working order. If, after your computer restarts following a Yasu session, the machine is still running quite slowly (including seeing lots of "spinning beachball" cursors), then I recommend you give me a call, as your hard drive may be failing. As always, make sure you have a good current backup, if not two or three!! :-)
My number is 970-417-8434.
Good luck, and happy computing!