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.
Modules for Administrators
Admin or Admin Menu
Either module is a good choice for admins/developers to quickly navigate various parts of the site. You can use admin or admin menu with any theme of your choice. In fact before 2 modules came along the fastest way to get around was by typing URL.
Backup and Migrate simplifies the task of backing up and restoring your Drupal database or copying your database from one Drupal site to another. With Backup and Migrate you can dump some or all of your database tables to a file download or save to a file on the server, and to restore from an uploaded or previously saved database dump
This module aims to accomplish is the ability to quickly find the module you are looking for without having to rely on the browsers search feature which more times than not shows you the module name in the 'Required by' or 'Depends on' sections of the various modules or even some other location on the page like a menu item.
This is the admin theme I use for every Drupal site. It is a clean admin theme. It features a set of icons for admin pages provided by Drupal core and aggressive styling to reduce visual noise wherever possible.
Modules for Developers
The following modules are for web developers working with Drupal. Remember to deactivate or delete them before your project hand-off.
Drush is not a module, it is a command line shell and scripting interface for Drupal. You can use drush to download, enable modules; backup code, files, database; run cron... You can go to drush.ws for more information
Devel is one of the most useful tools for Drupal development, theming and testing. Devel can generate dummy users, nodes, and taxonomy terms; displays theme API information for theme developers... You can visit its demo page to see what Devel can do.
With this module, you can create your own features and bundle them into modules to use on other projects. In fact, MegaDrupal use this module to help our clients create views, content type, image style... that work with our themes.
Masquerade allows a user with the right permissions to switch between user accounts by entering their name without needing to know their password. It's very helpful for testing site as different users and roles. It's also helpful to see what the user is seeing when they report issues with your site.
The Examples project contains many modules which hopefully illustrate best practices for implementing various Drupal APIs.
This module utilizes rules to review source code files for code that needs to change due to Drupal API changes and does not satisfy Drupal coding standards.
The Configuration builder module provides a Form Builder based, drag and drop interface for building custom, exportable, configuration pages.