I almost exclusively use bash. Not because of a particular love of bash, but just because that's the default install on Linux (and even OSX). Consequently, I don't know what the real differences are between bash and other shells.
It's possible the author is like me: because he's not familiar with what the differences between the shells are, he can't say what does and does not apply to other shells.
* zsh has a ton of interactive chrome built-in, and a lot of it is on by default.
This leads to some incompatibility with bash for scripting purposes
the contextual completion stuff is infuriating when it's overly restrictive
* A pure bourne shell (like dash) by nature doesn't support bashisms
like $() as an alternative to ``
On almost all gnu systems /bin/sh is a link to bash
which checks $0 and operates in sh mode
Unfortunately bash's sh mode is completely broken
it allows most bash-specific syntax
so almost a lot of Linux users's #!/bin/sh scripts really need bash
The takeaway is that you should give up and use bash, or write your own shell if you're an asshole (I have done this).
90% of the article is applicable for other shells, like zsh or fish.
Why not write "how to debug shell scripts"?