Template pages are like pre-written documents with blank spaces that you can fill in to customize them without having to create a new document from scratch. They have another benefit, too: changes made to the pre-written document (the template in this case) are automatically made to all of the documents (pages) that were based on the template without any added work.
In most cases you'll use a single template page for each site, with that template page defining the overall look and feel of the site and including basic functions.
A template page has no Code and can't be shown by itself. Blocks, menus and images in a template page cannot be deleted in derived pages but they can be hidden. Template pages cannot themselves be displayed, but when pages are based on a template page those pages get all of the properties (CSS, JavaScript, blocks, menus, images) automatically.
Blocks included in the template page cannot be deleted from the "Normal" page that inherits those items nor can their options be changed. You can, however, hide a block on a "Normal" page that is included on that page by virtue of being on the template page.