Forks are a common term in crypto but you might still be confused as to what exactly they are and how they occur.
In their most simple state forks are modifications of open-source code in programming terms. Code forked from the original is typically similar to the original, but contains important modifications, and both "prongs" can coexist harmoniously. The purpose of a fork, according to some, is to test a process. However, in the case of cryptocurrencies, it is more usually used to create a new asset with similar (but not identical) characteristics.
Let us take a look at the difference between the two types of forks right now in cryptocurrency and what they mean.
These implement the biggest changes. In a hard fork, a programming change to the protocol renders older versions basically useless. This is the only way to make a huge substantial change to the chain though. This is why it is preferred over a soft fork when implementing game breaking changes. There are a number of issues that can arise from this it may also be confusing and lead to changes within the chain.
For hard forks parameter changes include block size and difficulty of cryptographic puzzle, limitations on additional information that can be added, etc. By modifying any of these rules, older versions of the protocol would accept blocks while older versions would reject them and this could lead to serious problems - possibly even severe financial loss.
Hard forks are very messy sometimes and can completely alter the crypto landscape. You now have two blockchains, one with older and newer blocks, and another with older blocks only. Chain growth will largely depend on which nodes get the next blocks validated, and further splits may occur. Indefinitely, the two chains (or in some cases more) could grow simultaneously.
This can lead to users not noticing the change and losing access to one of the chains when spending their crypto.
All nodes would need to switch to the new version simultaneously in order to resolve this issue or alternatively miners could abandon one branch for the other which means transactions would be re-assigned promptly.
Soft forks are well deserving of their name as they are less annoying to deal with compared to hard forks and can still work with prior versions. The programming changes in these instances are less drastic and problematic. Users don't have to worry about two different chains.
There are a variety of reasons a currency would use a soft fork here are some of those reasons.
A protocol which changes its rules, that is implemented in a cosmetic way or that adds a function without changing its structure will continue to be accepted by older versions. Though not the other way around: the newer, improved protocol would reject any old version blocks. Forcing miners to upgrade, which prevents the big split seen in hard forks.
Although they share similar names, the two types of forks are dramatically different. Hopefully this prepares you to tackle more forks in the future. You will not make some of the same mistakes so many others have when dealing with them.