Here are two main purposes for heuristic rules:
User experience: rules like autoformatting of links are here to make editing a user friendly process.
Semantics preservation: this is mostly invisible for the user but is very important nevertheless. There is a set of rules to make sure that a document change conforms to the data format and model semantics.