Do not hack core
"Do not hack core!" This phrase is commonly heard in the Drupal community. There are even t-shirts made with this phrase and this cannot be said enough. No matter how easy it is to modify core files and make Drupal do what you want it to do... do not modify Drupal core files.
- Doing so will complicate, make difficult or near impossible site updates due to Security and bug fixes
- You will make it difficult for those that come after to maintain the site
- You could possibly leave your site vulnerable to exploits
The Drupal core has been well designed and thought out so there should be no reason to hack it. If there is a feature you want and it cannot be accomplished by what is already there, you can probably submit your hack as a patch. Create an issue and tell the community the feature you want to accomplish. It will then be tested and your feature will become a part of the Drupal core.
Are there exceptions to this rule? Sure, but this is generally for specific sites or implementations by people who are extremely familiar with the Drupal code base, development practices and security model. Those who properly document their changes and practice proper revision control with their code. If you have to ask, chances are you shouldn't.
