BIP 50 describes the 2013 event in which a block chain fork persisted for several hours. Its first paragraph reads:
A block that had a larger number of total transaction inputs than previously seen was mined and broadcast. Bitcoin 0.8 nodes were able to handle this, but some pre-0.8 Bitcoin nodes rejected it, causing an unexpected hard fork of the chain [my emphasis]. The pre-0.8 incompatible chain at that point had around 60% of the hash power, ensuring that the split did not automatically resolve.
I interpret this to mean that the term "hard fork" describes a state of the network. Some nodes have accepted a block, but others have rejected it. The nodes accepting the questionable block keep and extend it. The nodes rejecting the block neither keep nor extend it, but rather build their own branch. The resulting "fork" is only visible to nodes which have accepted the questionable block.
However, the Wiki has this to say about a hard fork:
A hardfork is a change to the bitcoin protocol that makes previously invalid blocks/transactions valid, and therefore requires all users to upgrade.
In other words, a hard fork is a kind of update to Bitcoin Core (given that Bitcoin Core is the protocol). The idea was repeated in the top answer to this SE question.
The difference is subtle, but important. For example, consider the question: has a hard fork ever occurred?
At least one Core developer says that Bitcoin has never experienced a hard fork, apparently using the Wiki definition. The 2013 fork was not caused by a software update (according to some new, but undocumented information), but rather was (caused by?) nondeterministic behavior that would have happened even without the update.
The answer seems to depend on how you define a hard fork. If a hard fork is a condition of the network, the answer seems to be "yes". But if a hard fork is a kind of software update, the answer seems to be "no".
It's not hard to see how a software update could lead to a persistent block chain fork as seen by some nodes. So clearly the two ideas are connected. But imprecise language around hard forks can lead to confusion, and, more importantly, to incorrect conclusions.
So which is it? Does "hard fork" describe a condition of the network, or a software update?