Drupal is a very powerful and feature rich content management framework with hundreds of contributed modules, extending it's core functionality. However, even with all of those third party add-ons, a lot of website owners will sooner or later find themselves in a situation, where a desired service can only be implemented by creating a custom module.
When it comes to module development, Drupal's biggest advantage is also it's biggest disadvantage.