Coming from BASH this shell feels like a much-needed update! Instead of worrying to make sure my terminal has all of these feature and then having a different experience in each terminal app - now All of the features are in shell not the terminal and I can connect anywhere, from any device, and enjoy the same setup.
The only two downsides are actually the same downside: its not compatible with BASH's shell scripting, which means you often cant just run shell scripts written by others, you may have to reformat it a little first. Same if true for how you format aliases and a few other shell-related stuff you put in your options file. It will still all work, but unless it's been ported to Fish's syntax it may need to be updated or rewritten.
This means that all of my scripted automation I have done is Fish-specific for now and wont run in regular BASH.