Bitcoin operates on the consensus of the users, not the majority of the miners. Every user running a full node (such as Bitcoin Core) enforces the protocol rules on the entire system. If a forking change were made to the protocol, those users (and miners) that chose to use the new code would essentially be creating an altcoin (which they might want to try and call "bitcoin", but which wouldn't actually be "bitcoin" unless ALL users and miners switched to software running the new protocol). If even one user and one miner continue to run the old protocol, then the original bitcoin rules would still exist on the original bitcoin network.
Not sure if I understand this.
Doesn't the longest chain wins?
Say if there are only a small number of users and miners remaining in the unforked version, shouldn't miners in the forked version generate a winning chain of larger total difficulty?
If you are really interested in the technical details of a hard fork read this thread:
Danny, thanks for answering all the misinformation in this thread, if you didn't do it I was about to.