When writing a script, it may be desirable to use errors to notify the person running the script of a problem. The severity of the problem will dictate whether an error is non-terminating or terminating.
If a script makes a single change to a large number of diverse, unrelated objects, a terminating error might be frustrating for anyone using the script.
On the other hand, if a script fails to read a critical configuration file, a terminating error is likely the right choice.