Has a hard fork ever occurred?
So which is it? Does "hard fork" describe a condition of the network, or a software update?


Either is acceptable. You can say that version so-and-so causes a fork, and you can say that the network is currently forked.


  Was the March 2013 fork a hardfork?


It depends on your definition. The March 2013 incident initially appeared to be a hard-fork, but a later investigation showed that it was possible to trigger the issue even when all nodes were running the same version.

Quoting from BIP50:


  This would be an issue even if the entire network was running version 0.7.2. It is theoretically possible for one 0.7.2 node to create a block that others are unable to validate, or for 0.7.2 nodes to create block re-orgs that peers cannot validate, because the contents of each node's blkindex.dat database is not identical, and the number of locks required depends on the exact arrangement of the blkindex.dat on disk (locks are acquired per-page).


However, it was a hardfork in the sense that newer clients would create and validate blocks that an older client would not see as valid.