What is the fundamental distinction between a hard fork and a soft fork in the context of Bitcoin network upgrades?