I find myself customizing fish way more than I ever did with Bash. Writing custom completions is easy and I find the scripting syntax a lot nicer. Combining the two is really powerful. Granted, fish ships with a ton of completions out of the box so you may not need to write your own.