Lots of people rave about Expression Engine, but I seem to be missing the point of it. The video tutorials show someone pasting entire HTML pages (which are inexplicably called "templates") into the system, making it appear that there isn't even a way to apply a site-wide template to your pages. Am I missing the point here? If you've used it before, did you like it? Was it worth the money and the space it takes up?
Never heard of it, but their web site speaks about subtemplates:
With our Embedded Template feature, any template can be nested within another template, allowing you to use common headers, footers, and other site elements. This feature is so flexible you can put templates within templates within templates within templates...
So that should do what you want, with some setup effort.
ExpressionEngine is an unusual CMS: it doesn't come with a bunch of canned styles. You create skeletal web pages or page fragments (templates), and include EE tags that specify data to be pulled in. So your website's style is supplied by your own CSS and HTML in the EE templates.
The data that gets pulled in comes from entries in weblogs (a misleading term); weblogs will be called channels in EE 2.0. You can think of a channel as a DB table, with some standard columns and your own custom columns (in EE, called custom fields). An entry is a row in that table. The actual storage is not quite that simple internally.
So EE really separates data and presentation, and relies on your own HTML coding to do the latter.
ExpressionEngine is a solid CMS tool for building custom website projects. There are few things the software can't do if you have a knowledgeable programmer coding the templates and setting up the EE environment.
Click here for a list of features
I've used EE on projects of all sizes and have always been able to accomplish what I needed as far as giving the client the ability to add/edit content and to manage their website.
If you are just starting with EE, it might take a couple of projects to get used. But once you get the hang of what you can do with the software, you should be pretty pleased with the projects that you can build.
Just grab yourself the Core, free version and start messing with it! It's awesome when you finally start realising the possibilities :D