I've never tried anything other than the ol' reliable bash (with fancy bash prompt to make it look pretty), because none of the alternatives ever really appealed to me.
I used fish for a while and its user experience is awesome!
The reason why I stopped using it was that because it is not POSIX compliant it won't run many bash shell scripts, and I found myself having to open zsh and bash a lot for a class I was taking.
I also use bash for this reason. However, I do find bash programming to be quite obtuse. If I was scripting for myself I would use another shell but I usually script for fleets of servers, so since bash is ubiquitous I just use it and jump to Python for anything conplex