They do different jobs. A registry cleaner does as it says. CCleaner is, in essence, a file cleaner, clearing out all the clutter (such as logs, history, caches and cookies) that applications leave on your system. CCleaner knows where to look on your system for clutter from a whole range of Windows components and applications. The files can be either deleted or overwritten/erased, though there are fewer erasing options than with Eraser. CCleaner does not have Eraser's ability to do targeted erasing of particular files and folders, and has no ability to define specific user tasks (though users can choose whether or not to allow the removal of individual items it suggests). I regard Eraser and CCleaner as complementary and use them both side by side.
Apart from its main task of file cleaning, CCleaner has a number of other tools, one of which is a registry cleaner (which I use). I find that different registry cleaners tend to target different things, so using the cleaner in CCleaner alongside your existing cleaner may not be a bad thing to do.
Hope this explains things.