At the risk of being unpopular or spawning a debate, I have to say that for me personally, I strongly believe that Drupal site builds in general are far more complicated than they need to be. Maybe it's because of my history in data building and modeling, but I always rely on the old fashioned principles of one to one, one to many, many to one, many to many etc. Even my logo includes a one to many sign.
- One event can have many days
- One event day can have many time slots
- One time slot can have many instructors
Why go back to data design concepts so old? Because it works. Another added benefit is that a content editor can edit a piece of content and within the same interface also edit related pieces of content.
The User Thought Process is what a content editor is thinking before editing a piece of content. To be more direct, it's the steps already in their mind that have to be completed to get their job done. So the question then becomes... has the system been modeled to follow a User Thought Process, or has it been modeled in a completely different fashion. I find the majority of site builds that I have seen are not modeled to the User Thought Process. This is where Drupal tends to get bashed as "hard to manage". But with a little thought and strategy we can easily make that whole negative concept vanish.
In the next section I am going to get into my strategies of using Drupal core and just a few contributed modules. But before you go there, please keep this thought close by... Adding modules to Drupal is great... but they're only great if they clearly help the User Thought Process improve.