Consider uncaught exceptions. You basically have two options: catch and ignore, or restart the entire application, usually with something like monit or upstart. Both aren't great. Erlang/OTP brings true fault tolerance in a number of ways [1]. Think of it like having a monit baked into the language as a first class primitive.
[1] restricting global shared memory, enforcing fault isolation through the process model, and supervisors
[1] restricting global shared memory, enforcing fault isolation through the process model, and supervisors