Sí, el emulador de terminal y el shell son dos programas diferentes. Como ya sabe, un ejemplo de la diferencia es que el lanzamiento de una ventana de terminal puede ejecutar diferentes shells dependiendo de lo que haya configurado (bash, tcsh, ksh, ash, ¡incluso python!).
Otra diferencia es que hay más emuladores de terminal que solo los predeterminados: gnome-terminal, varias variedades de xterm, konsole (para KDE), etc. (ver: http://www.howtogeek.com/howto/ubuntu/set- the-default-terminal-emulator-on-ubuntu-linux / ). Cualquier shell puede ejecutarse en cualquiera de estos emuladores de terminal, sin mucha dificultad.
Una tercera diferencia es que, además de ejecutar comandos de shell, también puede iniciar ciertas aplicaciones interactivas en su emulador de terminal, y se ejecutarán en la misma ventana (y seguir confiando en el mismo programa de emulador de terminal para manejar los gráficos reales), como el editor de texto vim, el RPG de nethack y otros. Si lo desea, puede configurar un perfil en su emulador de terminal para iniciar nethack, por ejemplo, automáticamente cuando abre una nueva pestaña; sin shell involucrado, pero el emulador de terminal sigue siendo el mismo programa.
Una cuarta diferencia es que puede realizar inicios de sesión remotos, utilizando un programa como ssh, desde una ventana de terminal. En este caso, su shell (o cualquier programa que ejecute de forma remota) se está ejecutando en otra computadora, y el programa ssh lo conecta al programa emulador de terminal local que se ejecuta en su máquina que maneja gráficos.