Hola,
Ninguna. Todas. Depende a que llames includes y funciones. En principio, yo entiendo funciones como ejecutar codigo, no mostrar salida. Y los includes para incluir funciones y/o clases.
Y los templaes se encargan de mostrar por pantalla los resultados de las funciones. Y puedes tener funciones que creen parte de las plantillas. E incluir esas funciones con includes. Asi que puedes usar todo a la vez. Es mas, deberias usar todo a la vez.
Por cierto, ¿has usado alguna vez esto?
Código PHP:
Hola, mi nombre es <?php echo $nombre; ?>.
Imagino que si. Pues entonces ya has usado plantillas. Y unas muy rapidas. El propio PHP fue originalmente un lenguaje de plantillas. Y todavia se puede usar como tal.
El objetivo de las plantillas es separar el proceso de la forma de mostrar los datos. Es poder modificar la forma de calcular el dato sin tener que tocar la forma de mostrarlo. Esto lo puedes conseguir a mano con codigo PHP o usar motores de plantillas.
Espero no haberte liado mas.
Saludos.