Template Engine: separare programmazione e design

Cosa sono e a cosa servono i template engine per il php. Un caso pratico: Smarty Template Engine