Earlier quoted context omitted.
> For robust code you should also use set -e. Highly debatable.
What are the arguments to leave it out? Of course in special cases where you do explicit error handling you can disable it. But for the big mass of commands where nobody checks whether it worked.
> The behavior of set -e is quite unpredictable. If you choose to use it, you will have to be hyper-aware of all the false positives that can cause it to trigger, and work around them by "marking" every line that's allowed to fail with something like ||true.
Start there, then go back to the beginning for the extensive exposition against using set -e.
FWIW, I (a random person on the internet) use set -e for most scripts I write, and despite the caveats, find set -e is generally more beneficial than troublesome. I don't think Mr. Wooledge is wrong, it's just the groove I've settled in. I do sometimes consciously avoid using set -e, when I explicitly handle errors for every single element of the script.