The difference between soft and hard forks can be summarized as a code update in which a hard fork loosens the rules governing which blocks are accepted and a restriction of the rules in the case of a soft fork.
A hard fork would be used if you wanted to create a new currency (blockchain).
If 100% of the miners do not accept the updates it causes a fork and a split to the hash power of the blockchain and a split within the community which can cause a lack of confidence in either of the forks.