Para ser estrictos, ni
print, ni tampoco
echo son funciones, sino constructores del lenguaje (Ver
print en manual de referencia).
Para definirlo en alguna forma, una funcion es toda programacion o proceso que devuelve un único valor por su nombre.
Las funciones para manejo de fecha, números, cadenas y otras, son un ejemplo claro del caso.
Un comando, usualmente se suele refierir a invocaciones a procesos del sistema, o que interactúan con él. Básicamente se suele mencionar con ese nombre a procesos que generan peticiones al S.O., o realizan cambios en el comportamiento global del sistema.
Todas las llamadas a incluir scripts, abrir o cerrar conexiones, crear hilos de proceso, etc., son comandos, no funciones, aúne el límite es algo borroso porque las llamadas pueden devolver algo (punteros, resultados, referencias), necesarias para la programación.