People regularly confuse definitions of the word 'consensus'. Consensus, the word generally used in conversation, can be construed as agreement reached after negotiation. The term consensus in computer science applies multi-agent systems, and is everyone agreeing on something before all enforcing it. You don't 'reach consensus' in computer science consensus, you enforce it.
Knowing this, the ability to change consensus rules in multi-agent systems is therefore difficult. In order to change consensus rules, you even need to have a consensus mechanism for how you change. There are two main ways you change consensus in a multi-agent system. The easy way when there is no damage to be caused by stopping and starting the system, is to simply stop all agents, and replace all of the consensus rules with new consensus rules, and re-start the system. In practice, however, with a consensus system like bitcoin, you don't have any control over the agent software (i.e. the client) that people are using. They might, or might not, agree to your consensus change. The second way is to have a consensus changing mechanism that allows the agents to change their rules over time, and only after an agreed time or agent version (again, consensus), and start enforcing the new consensus rules.
If you don't follow either of these processes, you will have agents that do not agree to your new consensus rules. Whether you stop and re-start with the new rules (hard fork) or roll the changes out over time (can be soft or hard fork), if the agents in your system don't agree to the new consensus rules you're applying, you will never be sure that validation is occurring consistently. In the case of bitcoin, where validation leads to blocks being added to the blockchain, if these validation rules are not consistently followed, nodes with different consensus rules will reject changes being applied by other agents, and start building on alternate blockchains. This leads to a fork of the chains, where the different consensus systems only build on blocks that meet an agents consensus rules are considered valid. There could be multiple chains caused in this eventuality.
In order to make a consensus change in a multi-agent system, you have to actually get agreement with the agents of your system (tough work) before you implement the change, and then hope that the agents agree with your consensus changes and change them in their agent software (i.e. their client). So you need to ensure that your consensus changes are rigorously tested, because once they're out in the wild, it's very difficult to change them, even if there is a critical fault.