I recently started to think about doing the complete opposite. Using some free (property licensed) framework, free themes and just making minimal changes in order to fit the clients design preferences. For stuff like an event management engine with app and calender integration, I used to work for weeks and now it feels like it's just a click away. Especially toolkits like WordPress/WooCommerce seem like drag and drop programming.
I feel like this is cheating though because it doesn't have anything to do with web development and I would feel like ripping off clients.
How do people normally approach setting up customer projects? Especially if you are trying to make it profitable. I always wonder how those people who live off of "building websites" do it.
Use what's available. Be efficient. If you can use WordPress and it suites your clients needs, use WordPress. That said, WordPress is pretty unwieldy if you need to do heavy customization, and using something like a framework might be a better option.
I no longer make websites for money as there's not enough money in it for me personally, but I've built sites on WordPress and from scratch previously, clients don't really care as long as it works.
If your client needs very fast application or very customizable website then building from ground up is a good idea and is worth the effort.
But if you are building generic static-site/blog/shopping website going with any CMS is fine.
You should mainly focus on end-result of your application and the value for client. There is no point in building same things multiple times unless your clients has specific requirement.