Less Modules, More Extending
2Bits has a great piece of advise when it comes to extending Drupal. A very common trap is just keep on adding more and more modules to achieve the required functionality. That is what makes Drupal great but at the same time, too many modules can have a seriously negative effect on a sites performance.
In many cases it is possible to extend an existing module. 2Bits has a nice example of extending the contact module to handle flagging of nodes, rather then using the flag content module.