Does OS X have an inbuilt effective "self cleaning" feature/mechanism. If so does it need to be turned on by default, and how often does it take place, (or is this something that is determined by the user).
Applications such as CleanMyMac or CCleaner are unnecessary for your Mac. They can clear certain caches or preferences that can interfere with the proper functionality of your other applications - they'll be recreated anyway the next time you use the software. Unless you're in dire need of extra space on your hard drive, I wouldn't suggest trying to erase caches using cleaner applications. If anything, invest in an external hard drive and move some of your larger files over.
Mac OS X does not have a self-cleaning feature. Such a feature is not needed on Mac OS X.
There is no reason to use cleaning applications. Such applications can do damage or perform tasks that leave your Mac or applications in an unusable state.
There are caches and other files on your Mac. These files are managed by the associated applications or the operating system. You can remove these files, but if you continue to use the associated application, that application will need to recreate the cache next time it launches.
Both Andrew and Graham answers are correct. One useful tip is to always uninstall apps using AppCleaner instead of only putting the application file in the trash. This app will make sure to also erase all the caches and preference files of the app you're uninstalling.