Drupal has detail api for developers, also many documents for administrators. But sometime you're still stuck when developing or managing Drupal sites. This is why you need to use modules to tackle these problems. Without these modules, developing and managing Drupal would be unbearable.
This post should help those new to Drupal get started on the right path. If you know any other modules, leave your comment then we will add it to this list.