1-3
*There are many differences between them, but the main difference is:
Soft Fork is an update that makes a former valid block to invalid, that means the rules for the block is changede. example is if u reduce the blocksize from 2mb to 1mb that means the 2mb blocks is invalid by thte new rules and therefor wont be accepted to the blockchain. so the former blocks with the 2mb with the âold rulesâ will continue its chain as long is there is nodes who didt update yet and mined 2mb blocks. Same rules apply here that is, the longest chain will will be accepted into the blockchain network and the blocks with the old rules will be invalid cuz the new rules blocks grows faster.
Hard Forks is the opposite, here the the previously invalid becomes valid, for example if the blocksize changes by increasing from 1mb to 2mb, that makes former 2mb invalid blocks becomes valid. here the different is that the nodes with the old rules keep mining only 1mb blocks this will create a hard fork, the difference is the 1mb rule blockchain dont gets invalid cuz it continue to mine only the 1mb blocks. this usually splits the community in the network and split the hash power and this is considered less secure and risky. It also creates a new currency like BCH, BTG and BCD for example.
The typical reasons for a hard fork update is to increase the transaction in a block, or increasing the blocksize like in 2017 with segwit2x *.