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.
Website templates are also extremely well coded. What does this mean to you? Well let‘s assume you do not know anything about coding. You are going to want to make small changes to the templates, but you may not know what you are doing. Learning how to make these minor changes will only take a few minutes in most cases. These templates are very well coded, usually with the most up-to-date coding methods. So you will never need to worry about this. Not to mention the fact that website templates are very search engine optimization friendly.