Há um echo embutido e um comando echo . Use type -a echo para ver todos eles.
Como o type em si é um shell interno, ele é capaz de saber sobre outros recursos internos.
E which é apenas um comando normal. Portanto, ele não sabe qual shell está usando e apenas informa sobre os comandos no disco.
Normalmente type é o comando correto para dizer o que acontece se você digitar alguma palavra no seu shell.