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.
In the old days people would always hire a professional website designer because they felt this was the best way to ensure they got a professional looking website made. Companies and individuals were willing to spend thousands of dollars for the chance to create a web presence that would give them a good image. Nowadays, especially because of the state of the economy, many companies and individuals are deciding to go with website templates instead of a website designer or developer. There are a multitude of reasons for this.