I kind of like the Drupal architecture, and anything seems to be malleable by writing a few short hook functions.
The documentation, even of core modules, is quite abysmal. Unless you already know how things work, finding out the parameters, their use, not to speak of reasonable usage, has a large fraction of guesswork. I have gotten used to the habit of googling any functions and features of any programming language that happens to be at my screen at any time, and usually some of the first-pagers has a clear answer.
This has not been the case with Drupal, and I have no answer as to why. It is immensely popular, so one would expect answers to pop out.