That is false. When a small utility terminates, I'm assured that any file descriptors which it opened are closed, that any memory it allocated is gone, and that it didn't touch any data structures of the adjacent programs I'm composing it with. That's a whole lot of complexity that didn't move to the next layer.
Debugging complexity is reduced also because if something causes an abnormal termination, only the containing utility will die, not the entire composition.
Debugging complexity is reduced also because if something causes an abnormal termination, only the containing utility will die, not the entire composition.