A CMS, by it’s very nature, is composed of arbitrary models. It doesn’t know all possible business domains and use cases. In many projects there are defined business models. Instead of shoe-horning things into a CMS, I’ve found it more efficient to build around the domain models.
I have yet to find a CMS that handles things this way — and in many ways it’s a pipe dream. I find it more valuable to build around the models and use cases, than it is to give a CMS and shoe-horn things into faux-models.
I’ve also found that a CMS often offers more than what’s needed. Clients like it at first, then get overwhelmed and hire someoen to manage it. Then they start asking “Why doesn’t this connect to X?”. It’s still an island unless you build it around the domain model.