Well, I don't know of a product that does that but I'd still debate the use of having it in the first place. It might seem like a great idea theoretically to remove all those old dlls, redundant registry entries and suchlike - but I REALLY wouldn't recommend it unless you're having issues that you think that will resolve.
Why? It boils down to this:
Removal of unwanted stuff such as old links to dll's, cab files etc can not hurt. Windows does a terrible job of cleaning up after itself not to mention software such as HP products and so on.
...but it CAN hurt if the software you're running sees something that it thinks is dead, removes it and it subsequently turns out it's actually needed by something that the cleaner program couldn't see for some reason.
I'd also say Windows does a better job of removing old, unwanted stuff than you're giving it credit for (well, it depends what version we're talking but XP certainly doesn't do too bad a job.)
In short, if there's no problem I really don't see the point? These tools are great for when you have problems, but just running them for the sake of it seems like a bad idea to me. Essentially, you're spending time and effort running a program that gives no noticeable benefit in performance, yet might muck everything up...!