There is another scenario in which the network may diverge into following two chains: a change in the consensus rules. This type of fork is called a hard fork, because after the fork the network does not reconverge onto a single chain. Instead, the two chains evolve independently. Hard forks occur when part of the network is operating under a different set of consensus rules than the rest of the network. This may occur because of a bug or because of a deliberate change in the implementation of the consensus rules.
Hard forks can be used to change the rules of consensus, but they require coordination between all participants in the system. Any nodes that do not upgrade to the new consensus rules are unable to participate in the consensus mechanism and are forced onto a separate chain at the moment of the hard fork. Thus, a change introduced by a hard fork can be thought of as not "forward compatible," in that nonupgraded systems can no longer process the new consensus rules.
I like his explanation. Hard forks are most easily understood as incompatible consensus changes.
Unfortunately, we use a slightly different definition in Bitcoin development. Generally, “hard forks” refer to consensus forks where rules are removed. “Soft forks” refer to consensus forks where rules are added — these are compatible with previous versions as long as they are enforced by a majority of hash power. But “User-activated soft forks (UASFs)” are a priori incompatible with previous versions, because they activate without regard for hash power.
...which brings me back to my original thought. Andreas’ definition is much easier.