For interactive use, why would one prefer zsh or fish over bash? I know of more powerful wildcarding, power powerful tab completion, more powerful prompts, in zsh. fish seems to be more user friendly, but I don't know the details.
@liw I used to use zsh, when its tab completion was miles ahead of bash, but bash more or less has caught up.
Various other little features, like shared history between multiple running shells.
But lack of posix compliant scripting became a dealbreaker for me (which is why I have never seriously used fish either); also I remember zsh having quite a lot of bugs a decade ago.