Quality of the rule is defined through its exceptions. The utility of the system must not only be judged by how well it works, but also how gracefully it handles the cases when it doesn't.

If you see a lot of exceptions building up, and your system doesn't handle them well, it's time to refactor the system.

This is as true for IT, as for science and for politics.