Each of the template files in this site profile includes the header template (head.inc), outputs the bodycopy, and then includes the footer template (foot.inc). This is to avoid duplication of the markup that is the same across all pages in the site. This is just one strategy you can use for templates.
You could of course make each template completely self contained with it's own markup, but if you have more than one template with some of the same markup, then it wouldn't be very efficient to do that.
Another strategy would be to use a have a main template that contains all your markup and has placeholder variables for the dynamic parts. Then your other templates would populate the placeholder variables before including the main template. See the skyscrapers site profile for an example of that strategy.