Should I Use WordPress?
I am pretty confident that you are looking for the most definitive answer to this question. Yes or No? Well, it's not that black and white. It depends on what you use is and who you are as a user. For the sake of TL;DR, I will say this: if you are a business owner who wants to have a site of some sort without much or no experience in coding at all, then the answer is NO. If you are a web developer with experience in designing and developing web applications (websites), then the answer is NO. And finally, if you are a freelancer, and you are building web applications that you will hand off to your clients, then the answer is NO!
I know what you are thinking. You spend the last 45 secs reading a paragraph looking for the YES and all you read was my discontent with WordPress! Well, to ease your mind, there are justifiable uses for WordPress of course, but they are very few and very justifiable! But before we go into the rare cases where using WordPress is a good idea, let's discuss why it is not first.
The Business Owner
Let's start with Persona #1 (The business owner) - Ok, I get it. Starting a new business and not having the budget to afford a professional web designer and developer is tough. It leaves you with only one option left -DIY. And that's ok at first. However, WordPress can be complicated if you haven't had some training on its framework and how it is architected. The makers of WordPress, in the effort of providing a versatile system that works for the masses, have to include numerous options and settings to cover as many scenarios as possible. And you may still find yourself in a situation where yours is particularly unique. Of course, you can learn, but that is not a 30-min lesson. It takes time to learn it properly and every second you spend on this is a second you are not spending taking care of what you do best - your business. If you can't afford a budget to hire a company to do this for you, I recommend using a website maker online tool like Wix or Shopify. This is not the best solution and that is a topic for another blog, but for your particular scenario, it will do fine…temporarily.
The Web Developer
Moving on to Persona #2 (The Web Developer) - I'm sure if you are a WordPress developer you are going to defend your position with tooth and nail. But let's be honest, if you are a WordPress developer you are mostly a UI developer who is looking for a framework that covers most of the server-side functionality for you. If that's the case, then you are one of the cases where WordPress is justifiable. There is nothing wrong with that. However, I would pay close attention to where your plugins are coming from and how many plugins you end up using. These third-party plugins open back doors to other machines to infiltrate your network and not all of them are plugins made by reputable companies. Some are just a guy in a basement or worse - a hacker in a basement. Not to mention, these plugins are made to cover as many scenarios for as many people as possible. In many cases, what you are looking for in a plugin can be done with just a few lines of code. I recommend learning WordPress Codex Development (A WordPress-specific version of PHP architecture that deals with WordPress hooks). Or look into GatsbyJS (ReactJS) or Gridsome (VueJS) and how to mine data from a WordPress installation you can hand off to your clients, while the main site is built as a stand-alone system.
The Freelancer
Lastly Persona #3 (The freelancer) - As a freelancer, it is rough to find a way to provide great quality products while staying in a profitable window. Ideally, you always want to provide optimal User Experience and UI development, as well as reliable server-side development, retrievable and dependable data, and security. However, no one is a master of all trades, most people will be great at a particular side and competent in the other areas. In cases like these, a WordPress installation can be helpful but the same recommendation I explained in the paragraph above applies here. Beware of how the application is built and its security flaws.
Generally speaking, a WordPress site is often overloaded and boated with excess code that is meant to cover functionality that allows a common user to do what a developer should be able to do with a few lines of code. This leads to sites occupying a massive amount of space in the server. Also, because of the large number of JavaScript and CSS requests loaded by WordPress Core, the theme activated, and every installed plugin; the site must do HTTP requests to the server for each of these files and that causes a lot of delay in page load and reload.
Because of the ability to use themes and having thousands of themes at your disposal, it makes developers theme-dependent. This means, the developer never really gets to have a full understanding of how the site UI code really works and how to modify it properly.
In terms of plugins, plugin-dependability is a problem as well. With thousands of plugins available for anything that you can think of, developers often become lazy and use plugins for things they can easily code and maintain. This leads to a poor understanding of the site functionality and limited modification of the functionality since the developer is restricted to only what the plugin was coded to do.
When It Makes Sense
As promised, I said I would mention the justifiable cases. Although there are very few cases, there are times that WordPress is a great idea. For example, e-commerce and low budgets. In today's digital age many business owners are opting to offer an online store as an extension of their business. Oftentimes, they do not rely too much on their retail power, therefore, they don't want to put a small fortune into something like this. WordPress with WooCommerce will allow a developer or freelancer to provide a lot of functionality that would otherwise cost hundreds and hundreds of hours. The only thing I would recommend is to also minify as much possible the use of this architecture.
There are other uses, such as making WordPress a headless CMS only without a front end site, then mining that data with GraphQL to Gatsby or Gridsome. In fact, this very blog you are reading is using GatsbyJS and a headless WordPress CMS!
Beware of how your site is being developed. Don't be afraid to ask your company how is your website being built and what language stack it is using. Research and consult to make sure you are putting your money to great use. Not every relative who knows HTML and WordPress can offer you a product that you will be able to use.