Both approaches effectively do the same thing, ie include data from other files to build a page.
I always opt for whatever requires the least amount of work to achieve :) In this case that would be using one template and grabbing the content from a data source of some description. The main reason being that this removes the content from the presentation and makes re-designs and updates much easier.
I would always go for "including" anything that is likely to be duplicated across my system. Header and footer are usually (certainly on my sites) the same throughout, therefore I would always include header.php and footer.php.
This approach makes it very easy to change navigation (add another page to your system for example), or add tracking code to the footer.... many reasons I would take this approach.