Maintaining a Drupal site, or a collection of sites is much easier if everything is kept completely separate–Drupal core, contributed modules, and the site itself.
This is even more important if multiple sites are hosted on the same server. Drupal’s own multi-site support can be a nightmare to maintain, believe me! (e.g. when you want to upgrade modules or core).

http://drup.org/dget