What is the difference between a soft fork and a hard fork?
A hardfork makes previously invalid blocks valid. (e.g. block size limit increased from 1mB to 2mB)
A softfork makes previously valid blocks invalid. (e.g. block size limit reduced from 1mB to 0.5mB)
What are some of the reasons why you would do a hard fork?
You want to benefit financially from the creation of a new coin. You want to split the community. You want to enforce a change that nodes must explicitly agree to. You want to avoid the confusion that a soft fork may entail.
What are some of the risks with performing a hard fork?
Fracturing the community. Lowering the hashrate and thus security of the network.