1. There's no common area for teachers. I cannot have common resources. For example, I like to have some ground rules for all my courses; cannot have them stored in a common space to import them to any course opened.
2. So many steps are repetitive and cumbersome without any possibility of automating them. For example, I can devise an activity and set up a carefully crafted rubric for grading. There's no way to store that rubric elsewhere so I could reuse it for another, similar activity either in that same course or in another.
3. No possibility of mass uploading files except when in a folder.
4. No possibility of customizing an activity or resource per-teacher. If any, is either school-wide or nothing.
5. I need a custom Web font (for some language I teach) but it's extremely difficult to configure that school-wide. Teacher-specific it's just impossible.
and the laundry list could go on and on and on. These are little details, but enormous time wasters.
However, that doesn't seem to be any better in any other web CMS, and Moodle is extendable with lots of open source plugins for any imaginable purpose, so overall it's a powerful Swiss army knife, and it has all the advantages of a self-hosted, open source project.
I suspect the 80/20 rule is in play, wherein each of the 80% of users is using a different 20% of features so your choices are to end up with something nearly feature free (think early github issues for a ticketing example), something specialised to a specific vertical subset of the potential use cases, a complex and usually clunky GUI, or programmatic style configuration that requires a level of time investment that rules out the people whose jobs will be to actually use it being the ones to set it up.
Moodle goes the lots-of-features GUI route and does a less annoying job of it than average - like I say, I think the problems are kinda inherent if your goal is to support as many different purposes as it does, and that's a trade-off that's often worth making.
Thats what SQL is for. You can setup everything using their fairly simple tables, and keep it in sync with whatever registration system you're using.
Permissions however were confusing and forget about faculty understanding them.