The idea of “niche themes” has become very popular in recent years. There are themes geared to doctors, real-estate agencies, restaurants, churches, and just about everything else. To me this seems logical. No one wants to have to research how to best set up a WordPress installation for their “niche.” A law firm, for example, might not want to spend the money required to add the functionality that lawyers require for their sites. They might not even know what they require until after it is built.
The purpose of a niche theme is to provide the functionality essential for a specific industry. Ideally it would create a user interface that is intuitive and applicable to those it serves. In practice many of these Niche themes are bloated at best. At worst they are impenetrable and it is nearly impossible to update the plugins packaged within.
Everybody needs specific functionality which is why WordPress is so popular to begin with; because it is extensible. Restaurant A may require a site that allows for group reservations whereas restaurant B may offer delivery. Restaurant C may pride themselves on their decoration and want a gallery-like theme but may require booking functionality.
Themes and Plugins have very different roles in WordPress. Plugins provide functionality and themes provide style. But does the average customer care? Our hypothetical law firm or doctors office is not going to say: “I want my site to follow WordPress best practices. I don’t want my functionality and style all mixed up. I don’t want plugins packaged with my theme. They should be separate so I can update them frequently.”
I once read about the concept of modular telephones which sounds like a fantastic idea. This idea of functional modules applies directly to WordPress themes and plugins. Many all-in-one themes replicate the notion of the latest model of a mobile phone. They can be used and updated to some degree but ultimately are not built for the duration.
As long as a theme is built with only style in mind and according to best practices it should be solid enough to support the addition and integration of any well-constructed plugin. There are plenty of themes built to work (look good) with specific plugins. There are BuddyPress themes, WooCommerce themes and many others that take advantage of some of the wide range of plugins available. A theme can be extended by using a child theme in cases where additional styling is required and custom plugins can be added to extend any required functionality. Plugins don’t have to be big, or well-known. Sometimes it’s better that they aren’t. Some of my favourite plugins are incredibly simple. They do one thing and they do it well.
Keeping Functionality separate from style in commercial WordPress themes is equally if not even more important when dealing with a niche market. It is unfair to make assumptions that all functionality pertaining to that market will be required and that users will understand and update plugins packaged within that theme. We have seen how not updating plugins can lead to hacked sites and a perception that WordPress is by nature insecure and easily hacked. There are some fantastic tools to suggest and require plugins that allow for them to be updated as well.
The concept of developing for different markets is a good one. Someone with experience in a particular market on the development side can be essential in providing a tailored experience for administrators and users alike. This is not to say that assumptions cannot be made relative to a particular industry, only that making assumptions should not hurt the site and weigh it down. Nor should it impose added complications when a case does not fit the mould.