The point is that the compromise position is a position based upon convenience, not necessarily upon accuracy. There is no single correct mental model. The cause for alarm here is that, one it is wrong as the above shows and two it is often an excuse for ignoring, or belittling the logical aspect of a project. I seldom see it used thusly. It is this perspective that allows compromise to take place.
Use cases are unambiguous statements of system behavior.
Team members can argue about the structure of those use cases, but once agreed upon, they define what the system will do in response to a given stimulus. We need such definitions to tell us what our application is going to be doing. So that we can discover the reasoning behind the structure we find in an application. We don't have to model because there is nothing to model. Of course there is something to model.