Drupal has thousand of contribution modules that you can download and install in your site. This article is to help you a little bit in selecting those contribution modules to create a combination that will works on your site.

This guide is based on my personal opinion only, other developer might have different set of module that they are used to install and configure.

Here is my list of favorite modules :

1. addtoany - provides share this button
2. addtofavorites - provides bookmark button for browser bookmark
3. admin_menu - main menu for administering drupal site.
4. advanced_blog - spice up blog area with blocks provided with this module.
5. ajax - make content creation ajaxed, specially useful if combined with formblock module
6. ajax_comments - make commenting process more user friendly and ajaxed
7. auto_nodetitle - very useful if you are planning to create tons of image node automatically.
8. avatar_selection - No more user without avatar, make this module shown in the registration page and set it required.
9. beautytips - useful to make form shorter by hiding the description of the form field and shown them using jquery tips.
10. betterformats - useful to tweak the drupal input format
11. betterperms - tidy up the permission page
12. bueditor - my favorite text editor for drupal
13. button_style - spice up drupal normal button with css sliding door, although it will break if it is combined with some other contrib module.
14. captcha - stop spammer with this
15. cck - can't live without it.
16. content_complete - not really important, just a small module to spice up the user profile
17. customerror - create a login form on the 403 page and customize 404 page.
18. date - sometimes you just need this module for creating date field.
19. faq - a module that will create a frequently asked question page in a flash.
20. filefield - you can't live without this one.
21. flter_perms - make permission page more user friendly with sorting capabilities
22. fivestar - these days we need those star rating system
23. flag & flag abuse - for report abusive page, user and internal bookmarking a page.
24. formblock - put a node creation form (eg . blog) in user profile page to simulate wordpress quick blog form
25. heartbeat - important if you are building a social networking site
26. im - for chatting, just needed for social networking site otherwise it is useless.
27. imageapi - you can't live without this one
28. imagecache - you can't live without this one
29. imagecache_profiles - just a simple add-on to resize user picture
30. imagefield - you can't live without this one
31. jgrowl or better_messages - tired of old plain drupal message?
32. lightbox2 or similar module - you need this if you are planning to display "larger" size image in modal box.
33. local_tasks_blocks - sometimes I don't want the site to show "drupal standard tabs" and move them to block instead
34. login_security - important module to fight brute force attack
35. manager - better usability in administering drupal content
36. menu_editor - so much better than normal drupal menu GUI, especially when you need to create lots of menu entry.
37. messaging - it is not really needed for small site, but can't live without it for social networking site.
38. notifications - very important for social networking site
39. pathauto - very important module to have
40. pmgrowl - you can create a matching css set with jgrowl if you are using private message module.
41. quicktabs - just some fancy tabs, it is useful for creating a sidebar with tabs or front page content with tabs.
42. pngfix - if you like Internet Explorer 6 then you can't live without this one
43. privatemsg - important to have even for a non social networking site. it is the basic way to communicate with other user internally
44. recaptcha - you can just use captcha without this one, but I like the recaptcha looks better than captcha default image.
45. region_manager - very useful if you have complex block region.
46. region_visibility - before I knew this module exists, I usually create php code to conditionally shown a block region but now just use the module gui instead, easy.. click click click and you are done.
47. rules - some may say that you have to have this module for your drupal site.
48. semantic_views - for a cleaner views output.
49. sexybookmarks - it is a very nice way to have a bookmarking button in your site.
50. signature_forum - if you want to have signature feature for your forum
51. simplenews - you can't live without this one
52. site_map - you can't live without this one
53. smileys - do you like smileys?
54. statistics_granularity - important feature that you might want to consider having it in your site.
55. tabtamer - hide / remove unwanted tabs in just a click. Most site will not this one
56. tagadelic - important for social networking site or blog site otherwise it is useless
57. taxonomy_manager - you can't live without this one
58. terms_of_use - you can't live without this one
59. transliteration - you can't live without this one
60. token - better install this one as many other module will need this as dependencies
61. user_relationship - you have to install this one for social networking site
62. user_stats - not too important but nice to have
63. username_check - just fancy username check it is not really important to have
64. views - you can't live without this one
65. ctools - you need this one if you want advanced forum and panel.
66. panels - sometimes for a small project with tight deadline, panel can really save developing time.

There... some of my most favorite module and use them in almost all my projects.