The purpose of the Critical Errors model is to provide a model, out-of-the-box, where the user can implement rudimentary error handling. In my opinion, it was added to gently nudge users, saying "hey, error handling in workflows is fairly important to have, so you don't tear your hair out wondering why your flow is broke". The lone component in the flow does the logging... you can easily replace this with an email to an admin if you like.
Basically anytime an unhandled exception gets thrown, the Critical Error model takes over... unless you have an exception component handling your error in the controlling model.
The Critical Errors model is by no means required; you can delete the entire Critical Errors model and your flow will still function. If you don't have an exception component OR this model, your flow would just abort upon hitting an unhandled exception.