I used to love zsh and it's endless customisation options, it definitely felt more robust and sophisticated than bash as a shell and was my preferred daily driver.

Then I discovered fish and to be honest the sane defaults and out of the box functionality means I haven't looked back in a few years now.

If fish didn't exist, I'd absolutely still be using zsh with Zim or presto.

I switched from zsh/oh-my-zsh to fish mostly because fish does everything I want for an interactive shell and is simply one package from my package manager.

With frameworks like oh-my-zsh I'm always worried about supply chain attacks.

I do use https://starship.rs (which is also a package away), and I think things like fisher https://github.com/jorgebucaran/fisher are useful when you need a specific fish script.

I also don't really like writing zsh scripts because I always run them through https://www.shellcheck.net which works best with posix sh/bash