I personally prefer to create themes from scratch (or almost from scratch - I have a very basic 'bare bones' theme of my own that I use as a starting point). The main reasons why I choose this route are:
- Premium/free themes that are created specifically for public release need to cover all possible bases in terms of potential usage. Because they try to be all things to everybody and they often compete for sales on the basis of the many bells and whistles they have, their code can be quite bloated and most of the features/options may not even be needed for a particular site. Creating a custom theme allows me to add in just what the client needs and to streamline my code so that the site loads faster.
- When people think "custom theme created from scratch", they often think "way too expensive", but it can sometimes ironically work out cheaper to build a custom theme from scratch than customising a premium theme. Because I know my own code inside out and backwards, it takes me far less time to create a custom layout or add new features than it does to learn someone else's coding style and to find where the relevant code is in the myriad files in order to customise it, plus it can cut down on troubleshooting time - I know exactly where to find an issue in my own code, whereas digging through someone else's code (especially if they have a non-intuitive way of organising where they add things) can be a bit of a nightmare.
- I've been a member of the WordPress Theme Review Team for just over a year now, so I know my own code meets all the quality standards and incorporates the WordPress functionality correctly. I'm sometimes horrified by how various premium themes don't adhere to the guidelines, which means that they're more likely to break by clashing with a plugin or not being compatible with a WordPress update.
All of that said, using a premium/free theme works really well in certain instances: For example, if you don't have the budget to invest in a custom theme and are happy to use an already made theme out-of-the-box or with minimal tweaks, or if your business is still fairly new and you're still working out branding/personality and your site's purpose/functionality, you may want to "try on" different looks for your website before deciding on one, then I'd recommend using a free or premium theme.