Drupal is written with the assumption that every release upgrade will overwrite every Drupal core file. Therefore, local edits ("hacks") to Drupal core files are strongly discouraged. Instead, users should take advantage of the numerous hooks, modules, and configuration settings provided to maintain local modifications to core behavior. This principle is usually expressed as: Never Hack Core.
Similarly, when any change to Drupal core benefits some users at the expense of others, there should be a way to avoid or override the change without "hacking core." Instructions for doing so should accompany the change. Changes that lack such methods and instructions are strongly discouraged. Core patches should stay in "needs work" status until such methods and instructions are provided or deemed irrelevant.
Also see Site Building: Never Hack Core.