I have written simple comparison of Flat File CMS. Last year I also wrote about choosing ProcessWire over WordPress, while at the same time I still use WordPress to power my blog. Obviously I do not like to stick with one CMS for all of my projects. I believe you need to understand the scope of a project and requirements to be able to select the best system to give the best result for your client’s satisfaction and yourself.
Below are my thoughts of when to consider of using flat-file based CMS.
Simple website
The website you are building has simple layout with mostly text content. No image gallery, advanced search function, exclusive content, etc. Generally, you do not want to spend half of the development time only to initially set the basic configurations of (more advanced) DB-based CMS.
You or your client is not expecting to keep on expanding the site’s functionality
This is always a hard call as you cannot really tell. One of the great advantage for using WordPress, ProcessWire, or even custom develop your CMS using a framework like CodeIgniter is the abundance list of plugins and extensions. As flat-file CMS is a relatively new trend, the supporting community is still growing and may take longer for a plugin to some popular service to be available for easy integration.
You are working on different servers and need the content to be consistent
Everyone has experienced this no doubt. You work on WordPress-based site on your local server, upload it to staging server to preview, made some content changes based on client’s feedback and frustrated in how to synced it back without having to modify the configuration settings. This becomes easier with flat-file CMS as you can copy the content files over FTP. Better yet, you can set up a repository and have all changes automatically synced.
The user only wants to manage content
Most advanced CMS has become so advanced, its interface becomes more complex and has longer learning curve to use. It is easy for non-tech users to mess with the settings. If the flat-file CMS has an UI, mostly it is only focused to manage the content and minimize the possibility of messing the config.
Your user knows FTP, but not MySQL
Trust me, more end users are familiar with FTP and you realized before. Sometimes they want to be able to login to their FTP and download its content for backup. In case of catastrophe, they will have the security that they can just upload everything and have the website back to operations.
You initially do not need a CMS
Last but not least, it might be good to integrate your static site with flat-file CMS. You may not plan to update it that often and you know HTML very well, but it is always nice to have a more human-friendly format. If this is a client’s site and not a requirement, they will be happy to be given this “bonus” just by spending an extra couple of hours.
For bottom note, I do not mean to highlight issues of DB-based CMS. They have been serving their purposes wonderfully. As a web developer, it is good to have more options available than ever to select a CMS that serves your specifications best.