It's useful for things where it just needs to get through to completion. Long running tasks. I walk away and expect it to be done without pausing for input.
It's just a way of defining what "done" means, and passing off evaluation of whether "it's done" is true to a separate context and/or model. If false, it prompts the original context accordingly.