Basically, contentious hard forks, and any sort of fork in general (hard or soft) requires consensus. The fork should only occur once a supermajority of the users switch to use the new rules. In most cases supermajority is defined as 95% of the last 1000 blocks, but its definition does vary. Without reaching supermajority, multiple competing blockchains can cause a loss of confidence, insecure network due to miners splitting to other chains, confirmation issues, and will in general be bad. This is why any code that involves any sort of fork, contentious or not, requires a supermajority before the node begins to enforce the new rules.