That's exactly why fish is neat. The existing shells are ONLY used because they are ubiquitous. Nobody says "bash is an awesome programming language."
If you use Fish as your shell, then you can also use it to write Fish shell scripts. The "language" around the shell is a lot less arcane and has more conceptual integrity.
That said, I've tried to use fish as my main shell, and failed because it takes a while to learn. I couldn't figure out how to do "(sleep 1h; xmessage time to go) &".