Do professionals create websites from scratch or download templates for them ?
Developers do not accepts limitations and themes having many limitations.
In most of the cases professional software developers choose to develop website from scratch. Because every client having different requirement and you can not find exact theme which is already developed. May be, if you find any similar theme but again you need to customize it as per client requirement and this is the main problem. When you go for customizing existing code then you need to understand code first and their coding structure (flow) too. Every software developers (programmers) have their own style of writing code. In this case at some point you will get irritated and you will not found any suitable solution. And there are many limitations also in already developed themes and templates. But In same case, if you go for developing website from scratch then you can code whatever you want.
Developers do not accepts limitations and themes having many limitations. My suggestion is, if client budget and timeline is worth then go for scratch development. It's totally depend on client budget :)
I am writing this about WordPress themes and already developed codes. But when you need to build a website and you have html/css template then you should use this. It will save your time. These template doesn’t having any functions and limitations, it’s just design that can be used anywhere.