A CMS system for a website is essential as it allows your client easy access to make certain changes to the website. There are several off the shelf content management systems on the market such as Joomla and WordPress but sometimes although good, these systems just do not offer your client what they need. If this is the case then you may need to build your own bespoke content management system.
If you are a web programmer that designs website for clients then you should always consider what functionality your client will need in order to keep the website updated. Even if your client asks you to do all the updates to the site and does not require access to the back end, it is good to build this in any way in case they change their mind down the line and also to make updates quicker and easier for yourself.
When building your own CMS system you need to ensure that it is user friendly. You should be able to add / hide sections as needed to allow you to strip back the system when needed and only give certain users access to different parts of the site.