Registry Cleaner, useful or not [duplicate]
Recommend a few - the famous one is CCleaner.
As for required, I firmly believe the answer is no.
There was a recent question about computers and speed where this came up. You can read my answers and some of the others there. It should give you a bit of background on this subject.
Link.
Since almost all core Windows programs, and many third-party apps use the registry, if the registry is full of unused keys, it follows that registry access is slower.
That being said, for it to make a real difference in performance, you'd likely have to delete thousands of keys. Wil has mentioned CCleaner, and every time I've run that, the most keys I've seen it delete is about 400.
I'd say the only situations a registry cleaning are really warranted is if you are preparing the machine for or transferring it to a new user, as a registry cleaning deletes many MRU lists that hold recently accessed items and such.