The most recent project I'm still working on has quite interesting set of requirements:

a) templates, to separate you-know-what from you-know-what-else
b) one codebase for all sites; by default all sites should look identical unless there is a need for customization
c) possibility of different languages on different sites
d) certain page items that cannot be cached (i.e. near-realtime data)
e) everything optimized for heavy load (memcache)
etc etc.

I picked Smarty by pure luck - and never regretted this decision. Without discussing implementation of above reqs into details (I can do that if anyone wants it), let's just say it saved my day more than once. IMHO it's well engineered piece of software. Thumbs up for that... and thanks.