By default bash keeps going after a failed command, so an unattended script can do damage or report success after half its work failed. set -euo pipefail, trap and input checks make it stop early and clean up. Use them in every script that runs in CI, cron or a deploy. They do not replace care: set -e has gaps, so still quote variables and run shellcheck.