When building a Drupal site, “there’s a module for that” can be the sweetest words you can hear. Modules are nicely packaged bits of code that extend what Drupal can do. With thousands of contributed modules, the odds are good that someone has written one that does something close to what you need. The main challenge, then, is two-fold:
Figuring out exactly what you need.
Finding the best module to accomplish that goal.