What is an HTML preprocessor?
A preprocessor typically adds extra bits of functionality to a file before that file gets processed. In a web-based enviroment this means adding specific markup to the HTML page before it gets moved up to the webserver.
The point of HTML preprocessing is that it allows HTML authors to componentise their markup into reusable objects, such as having all the navigation links in one file which is then manageable for editing. Once the objects have been polished and finished, the HTML preprocessor then puts all the objects together in every page that requires it, and delivers complete webpages at the end.
This technique is basically the poor-man's SSI implementation, but it is extremely effective when you have lots of static content that must appear in a vast number of pages, or if you are involved in an Object Based enviroment.