The two main parts of a template are the content management code and the theme. These should be kept separate so that the theme can easily be changed without affecting the structure. For example, the styles should be defined in an external style sheet and not embedded in the HTML code of the pages. The structure of a website will be defined by a set of templates. It is good practise to make the templates modular rather than having page templates containing all the code for each page. This allows site-wide changes to be easily applied. For example, the footer may be mostly identical between pages.
When you hire a professional web developer to make a website for you, it is also going to cost way more money. There are low-priced developers, and then there are high-priced developers. But no matter what you are going to end up paying way more than what you expect. Each one comes with pros and cons. Low-priced website designers are not going to be that experienced, but that is why their prices are going to be so low. This does not mean that they do not have the skills; they just are not proven enough yet to warrant a high price.