Sim, o emulador de terminal e o shell são dois programas diferentes. Como você sabe, um exemplo da diferença é que o lançamento de uma janela de terminal pode executar shells diferentes, dependendo do que você configurou (bash, tcsh, ksh, ash e até python!).
Outra diferença é que existem mais emuladores de terminal do que apenas o padrão: gnome-terminal, várias variedades de xterm, konsole (para KDE) etc. (veja: http://www.howtogeek.com/howto/ubuntu/set- o emulador de terminal padrão no ubuntu-linux / ). Qualquer shell pode ser executado em qualquer um desses emuladores de terminal, sem muita dificuldade.
Uma terceira diferença é que, além de executar comandos do shell, você também pode iniciar determinados aplicativos interativos no emulador de terminal, e eles serão executados na mesma janela (e ainda contando com o mesmo programa de emulador de terminal para lidar com os gráficos reais), como o editor de texto vim, o nethack RPG e outros. Se você quiser, poderá configurar um perfil no emulador de terminal para iniciar o nethack, digamos, automaticamente quando abrir uma nova guia; nenhum shell envolvido, mas o emulador de terminal ainda é o mesmo programa.
Uma quarta diferença é que você pode executar logins remotos, usando um programa como ssh, de dentro de uma janela do terminal. Nesse caso, seu shell (ou qualquer outro programa que você executa remotamente) está sendo executado em outro computador, e o programa ssh o conecta ao programa emulador de terminal local em execução na sua máquina que lida com gráficos.