As a Product Owner, I am forced to make tough calls. And I admit that I use MoSCoW as a tool.
The criticism of MoSCoWIt is correct to state that "just because someone claims something must be done, it does not mean that it will be done.". Just because my customer says we must deliver that new teleporter by the end of the month, doesn't mean he will get it.
Likewise, simply defining all work as "mandatory" doesn't mean that more will be delivered.
To suggest that people from business don't understand this is merely beating up a strawman.
Maybe they are unaware of the consequence of their action when defining a "must", and the organization is in such a mess that people don't understand the complex intricacies of what "defining as must" means.
Not a prioritization tool
MoSCoW as a filter
Not a delivery requirement
Like that, stakeholders can be forced to make tough decisions.
The terms "must/should" are not absolute. They becomes context-sensitive. For example, "Must do" might turn into "Must do instead of [doing something else]" or: "Must do before [doing certain other things]".
You can use a very simple sentence to explain why some "Must" item just got kicked out of the backlog; "When this issue was brought up, we decided we must add this item to the backlog. Given this new information, we decided that now we won't do any work on it."
Like every other tool, it can be abused when understood as a tool. When used to define inclusion, you will encounter a myriad of problems. But that doesn't mean we should throw the baby out with the bath wather.
Use MoSCoW to define exclusion. It keeps the backlog short and creates transparency on why certain things are in focus - and others are not.