There are many Drupal module lists out there, but I feel they lack a few really essential ones. These are the modules that I install with every new site.
<!--break-->
Provides a dropdown menu to most administrative tasks and other common destinations
This module makes administering a site quick and easy. It takes the "navigation" block menu, and puts it up top in a nice, slick drop-down menu. It's configurable to "sticky" at the top of the page, and also to drop the site down 20px so that it doesn't cut anything off. It's a great way to make administering a site just a little easier, especially in the development process.
Various blocks, pages, and functions for developers.
This holds a host of functions for developing a Drupal site. It may be a bit overkill for some, but it does have a few functions that will be handy for anyone. The two most valuable are "empty cach" and "theme developer." Anyone working on a new Drupal site will need to empty the cache often. Devel gives a quick link to do just that. The theme develper is probably the most handy function out of all of the modules listed here. You enable it, click on an area of your site, and it will display what tpl file or theme function that section of the site is using, where it's located, and what to call it if you want to make a modification.
Personally, I like to style the default Devel developement block to match the Administration menu. Here is a short tutorial on how to do it.
Allow advanced help and documentation.
This one is pretty self explanatory. It's very useful with some of the more advanced modules
Enables the creation of forms and questionnaires.
This module is a life saver. Drupal does not come with an easy form creation tool, and the form api is very extensive and confusing. The Webform module makes form creation super easy. You can create just about anything with this module, and if you can think of something that you can't do with the default UI, it allows for additional php validation and processing.
It has a built in pager function for multi-step forms, which is great, however, if you want to make a survey style form where the user's input from one question determines where they go next, you need to do a bit of coding, along with using the Rules module. I built a small example which you can view here.
Lets you define conditionally executed actions based on occurring events.
An extremely useful module. I don't think anyone should be without it on a Drupal site, yet I don't see it on many lists. This module lets you control most aspects of the site through the use of conditionals. For example, a rule that I always set up is one to email me when there is a new comment in the approval queue. It's a simple thing that Drupal just doesn't have in it's core UI. Another useful rule on sites with many users is to tell Drupal what page to bring a user of a certain role to on login. You can get much more complex. The module integrates with CCK, Content Access, Token, and Views. It also supports forms, allowing you to target specific fields, as well as allows the scheduling of actions so you can automate aspects of your workflow.
Create customized lists and queries from your database.
Views is one of the most robust modules out there. You can create custom pages, blocks, and rss feeds based on certain database queries. The UI is pretty good, although it takes some getting used to. If you have a blog on Drupal, use views instead of the core module. It gives you much more control over what you want to display.
Views comes with some fantastic documentation and tutorials. To access it, install Views along with the Advanced Help module.
A Search Engine Optimization checklist for Drupal 6
This module doesn't really do much of anything, but it can help you do one of the most important things for your new website. SEO!
This is a great module for a quick reference of what you need to be doing to keep your Drupal site in the forefront of the major search engines. Not only does it have links to submit your url and xml sitemap to Google, Yahoo, and Bing, it also has an extensive list of useful modules to make SEO a breeze. It even checks for you to see if they are installed on the system. These modules are also in my "essential" list, but since they are referenced in the SEO Checklist, I won't go into great detail. Here is a short list of some of the modules that SEO Checklist recommends:
This is just a very small sample of what to expect from this module. It's really useful to keep track of what you've done SEO-wise, and also to discover some new tricks and tips that you may not have known about.
Provides a shared API for replacement of textual placeholders with actual data.
From the developer: "Tokens are small bits of text that can be placed into larger documents via simple placeholders, like %site-name or [user]. The Token module provides a central API for modules to use these tokens, and expose their own token values."
Here is a list of modules that use the Token module.
Honorable Mentions
Here are a few other modules that I use, but don't necessarily consider "essential."
The Content Construction Kit allows you to add custom fields to nodes using a web browser.
This is an extremely handy module and a staple in Drupal development, although it's not needed for every site. CCK allows you to add fields to nodes. So, for example, if you need certain descriptors for a content type, like an address field, you could add this easily. It's a great way to customize content types to fit your exact needs.
Automatically validates and submits any Drupal form using AJAX
This is a fantastic and super easy way to ajaxify all your forms. It's not essential, but it's definitely super cool.
Provides flexible content access control
This is a handy little module if you need to control permissions for specific pages by role. It has a very extensive permission set, and easily fulfills your page specific permission needs.
Generate a password when adding a new user.
This module simply gives you the option of assigning random passwords to new users. It's a life saver when you have to set up a lot of users quickly.
Allows users to edit contents with client-side editors.
If you need a wysiwyg editor on your site, this is how to make it happen. This isn't actually an editor in itself, but a control point for tinyMCE, FCKediter, etc. It supports pretty much any wysiwyg that you can think of, and allows you, if you have the need, to install them all and assign them to different input filters, as well as control all of their options from one place.
That's the end of my list. If you feel I have forgotten anything, leave a comment and tell me about it. If you have any questions on how to use these modules, most are very well documented on drupal.org, and if you still can't find the answer, don't hesitate to ask.