This is a nice explanation. You note explicitly that you are referring to template overrides. It's worth re-iterating Ajeh's point earlier that there are also language and module overrides. Although most users will probably not use module overrides, pretty well every user should be using language overrides.
Originally Posted by mlm2005
Language and module overrides operate in the same way as each other, and using the same priciple but a different file structure to template overrides. This often causes confusion.
Template overrides operate in parallel with template_default. By this I mean that (for example)
includes/templates/template_default/customer/tpl_header.phpcan be overridden by
includes/templates/YOUR_TEMPLATE/customer/tpl_header.phpLanguage and module overrides however, operate hierarchically. For example to override
includes/languages/english/meta_tags.phpyou would go to the files location and create a directory with the same name the directory in which your template_info file is located in templates and then place your override file in the new directory, i.e.