“never judge a book by its cover”
There has always been this debate whether Drupal was built for the publishers or the developers out there. With some complexities under the hood, many argue that Drupal framework is primarily for the publishers, and you find a lot of developers complaining abut the way Drupal works.
Over the years Drupal has seen many updates, performance betterment and newer solutions to make web design and development easier and less far fetched.But the fact that users need to scratch the surface a little to understand Drupal's true potential is something which has accounted for discounts in Drupal usage.
However, Drupal has some very legitimate upsides which has kept more than a hundred thousand developers working on it. Let us look into a few of these game changers.
Knowledge of Core Functionality
Drupal has numerous brilliant heads behind its amazing architecture who work hard to constantly improve Drupal's core performance. And having read in several places that Drupal's inability to optimize performance is because its core is "under the hood", it makes me wonder wouldn't it be highly unlikely that Drupal was the right choice of framework if that was the case?
As for the "functionality being hidden from developers", this feature is something which I gladly accept as "something to look up to" in high level frameworks such as Drupal. Having all the feature rich sets ( which are available to the developers by viewing the source ) well isolated and documented is is one of Drupal's principal strengths.
Training & Development
The fact that training on Drupal Framework takes a little longer, is actually a blessing in disguise. I would never prefer having a developer working for me immediately without any training, and in the long run build a software which is as messy as his knowledge about it.
Instead, Drupal's learning curve with tons of short term benefits is something which I would prefer for the long term. With the ability to pay for itself with feature rich API's and numerous wide support networks, Drupal is worth all the time you spend working on it.
Custom Development - At a Cost of What?
I don’t know why people complain about Drupal consuming a lot of time and energy. We have been working on Drupal for quite sometime now and I have never heard anyone around me say "this work would have been a lot simpler without Drupal".
The basic idea of knowing how to use Drupal's module system, API and the theme layers are the exact tools you have been looking for, to get all the things done fast and in reliable way.
The Hook System
The accomplishment of certain special functionalities by engineering your way back by "hooking" into the current processes & modifying the functionalities is the hook system in Drupal which everybody talks about. Over several years, the hook system has developed into a perfect solution for conjunctive operation between different modules. It certainly may feel like you are undoing someone else's work, however more often than not you end up with a cleaner solution for achieving the functionality you were aiming for.