Bom, se o FISH é mais “amigavél” que o zsh/bash, porque eu vejo muitas pessoas usando zsh/bash invés do fish? Vi muitas pessoas falando sobre ser "compativél"com POSIX, mas não faço a menor ideia do que seja.
POSIX é um dos padrões ao qual o Linux e o BSD tentam se adequar. Tem uma seção nele que é sobre o shell, como deve ser a linguagem dele, etc. Porção relevante aqui.
Enquanto os autores do bash e do zsh tentam adequá-los a esse documento, os autores do Fish não ligam e quando acham que é errado, fazem diferente.
# bash/zsh/ash dos BSD
NUMERO=477
# fish
set NUMERO 477
bash
é mais usado simplesmente porque é o padrão, e você não entra em contato com as partes confusas que motivaram a criação do fish se você não estiver tentando fazer um script complicado.
O zsh
traz muito dos recursos atraentes do fish (completar automaticamente com o histórico, destaque de sintaxe, etc.), sem jogar a sintaxe do negócio de cabeça para baixo. Além disso, o pessoal do desenvolvimento gosta dos plugins que mostram status de repositório git, etc.
Fish é legal para uso interativo.
Já Zsh é uma shell com recursos muito avançados baseada no Ksh.
Tanto Bash como Zsh e o Ksh são legais para fazer scripts.