I wonder why set -eu is not the default setting.
2. set -e
3. type an invalid command or run one that returns non-zero
4. "crap, where did my shell go?"
The real answer is that this has not been the default in the time between shells being invented and this comment being posted, and so the squillions of lines of shell script out there in the wild keeping the world turning have not been written with this in mind. Making it the default now would break a lot of things.
With the benefit of hindsight, though, i would say that yes, this should have been the default in scripts. Oh well.