I wanted something that would give me better quality of life enhancements than Bash could, however, I wanted something that was still generally posix compliant, unlike Fish.
The nice thing with Zsh is there's a huge amount of features hiding there, however. I'm a bit lazy so I use zinit and plugins to draw as much of the power of Zsh out as possible. This gets me close to how nice fish is, but ultimately, if you're just a lone developer working by yourself, fish is going to do you wonders. It offers so many features that can't be fully replicated in Zsh.
Bash on the other hand makes a ton of sense for anyone who wants to know that their shell is definitely POSIX compliant and any scripts they right will be compatible with anyone they share them with. These days you can get some more of the features from Fish and Zsh in Bash, but not enough for me to want to use it as my primary shell.