Simple problem I have so far always solved via PHP:
You have a site with header, menu, footer and content field.
Header, menu and footer are usually the same for each page.
How do you, without PHP or any other server-side language, have the header, menu and footer data exist only in one file?
So that for example you don't have ten sites (like home.html, products.html, about.html, ..) all having a copy of the static header and menu in their html files. Now if you want to change the header you have to change ten files.
I hope I made my question clear enough, if not please leave a comment :)