Fish is my favorite shell.
Mainly the autocompletion is so good, I know there are zsh plugins to get something similar but still fish has it out of the box and nothing beats it for me.
I still use bash for scripting though, but maybe I should actually learn fish's scripting language, it looks neat. At least for personal scripts, because for portability I think bash scripts are still better.
I only installed fisher and the tide plugin to get some fancy prompts but apart from that, not much to customize.
Maintaining the config file is also very nice, for example often you just need to add something to PATH and fish has a dedicated fish_add_path function that does just that, no more PATH=$PATH:something to extend PATH.