The most common application that I have built has been the good old fashioned content management system. This includes more than blogs though, I would argue that anything where a user can edit content without changing a codebase is a CMS. However, just off the top of my head, Jekyll is absolutely a CMS but still doesn't fit into that already generous bucket.
Let's focus on blogs for a bit though,
Blogs especially are fun to make
I like to get the most amount done with the least amount of work. I am a lazy developer. Writing a blog is obvious. If a client needs a blog I immediately know what I need to do, many things they might not even know about. Including:
- Admin interface
- Templating engine
- Social plugins/interaction
- Related articles
- Archive sections
- RSS/ATOM feeds
- Slug generation
- Drafting method
- Author functionality
Scale? Performance? Psh. That's easy mode software when it's a CMS.
I've architected the whole damn database by the time they said 'article'. Even though they might not even know what caching or a sitemap is, I've solved their problems without having to even encountered them or mentioned them.
It's a beautiful, rare time in architecture where you immediately know what to do.
This continues onto the development, which will be crazy fast.
So why not just use Wordpress?
Believe me, I'm the first guy to avoid coding and leveraging the community wherever possible. Wordpress is the right choice in many circumstances, as is Tumblr and a lot of other sites. However, while blogs and brochureware are generally a solved problem, CMS's are not.
The client also probably isn't get a hold of someone with my background if all they need is something as simple as Wordpress.
Why might a CMS not be a blog
Several reasons. I consider a blog to be an index showing articles in a reverse chronological order. Nothing more. Even this website I've made for myself is more. It has projects which I can edit. Those are absolutely nothing like a blog. It's just 'content to manage'.
Simple features break off-the-shelf CMS's
Maybe I want to link to GitHub and show my most recent commits for each article? Wordpress would be a particular pain in the ass for this, and Tumblr would be absolutely useless. In a custom CMS? Easy peasy.
Still though, I love this kind of development where I can leverage my existing knowledge of similar systems (CMS's in general) and focus on the specific feature at hand (GitHub integration).
Still, why do you 'love' making CMS's?
This is simple. I can easily make a platform, get a designer to make it purty (or half-ass it myself like I did here), then some writers create some awesome content!
From then on, it can be used for years without me having to lift a finger, yet I still feel like I was a part of creating each and every post!