How does a Soft Fork work?
Soft forks are an update to how certain parameters of the blockchain are handled. All this without altering the basic rules of its operation. In this way, certain parts of the protocol are changed so that the updated nodes reject previously valid transactions. But nodes with old software validate both old and new format transactions. This makes it easier for the updated nodes to continue their work on the network.
However, this behavior makes the implementation of soft forks more complex. Developers must take care of compatibility with older software. Otherwise, they run the risk of mistakenly altering the entire network.
Let's take the Bitcoin update from Segregated Witness or SegWit. This was officially activated in block 481822 with a network acceptance of 99.95%. It is estimated that in February 2018 more than 30% of transactions are based on SegWit.
SegWit was a proposal from the company Blockstream and it has been widely implemented. Not only in Bitcoin but it has also been implemented in Litecoin and Vertcoin, among others. One of the reasons for creating this update is to minimally fix your Scalability that Bitcoin currently presents.
Even though not all Bitcoin nodes support SegWit yet, the network still works perfectly. This is because this soft fork is compatible with older software versions of full nodes.
In summary, soft forks are difficult to program and do not require consensus for their implementation. This often ends up fragmenting the level of software update on the network nodes, resulting in an undesirable scenario.