1.What is the difference between a softfork and a hardfork?
A softfork makes previous valid blocks invalid and a hardfork makes previous invalid blocks valid.
2.What are some of the reasons why you would do a hardfork?
You would want to do a hard fork if you need to change the size of the blocks or make them faster or if majority of the community want a new blockchain.
3.What are some of the risks with performing a hardfork?
Hardforks can bring great risk especially when splitting the hash power therefore less security on the network. Can also cause a lot of confusion and split communities to create multiple blockchains