If you are a miner or a merchant,you should prefer hard forks,here is the reason:
If you are a merchant
For a Bitcoin transaction,your purpose is that it should get as more confirmations as possible,and get confirmed as quickly as possible,which means your node has to run the major rule sets.You can be cheated if you are behindhand.If you are not in the major blockchain,you should know this as soon as possible and ignore the transactions you can’t verify.
Attention please,after I had come up with some issues,the Bitcoin core developers adjusted the codes to enable some soft forks to be closer to hard forks:Core will ignore the transactions operated by unknown opcode until they appear in the blockchain .That is what we want! So whether the adjustment is helpful for you is to a great extent depended on opportunity.
If you are a miner
If you are a miner and behind the rule most people choose,you will lose money because of the forked blockchain you use. however hard forks is more better,first of all,it can be detected. You will know your node go out via email/message/phone if you configure it rightly,and it will stop mining automatically so that you will not waste the resource to dig invalid bloacks.Second if you consider another blockchain wrong and they will agree with you,you can take a chance on mining the weaker blockchain.Then sometime everyone return to your blockchain and you will get something that other miners don’t have – the cute coinbase.Of course this strategy is very dangerous which I won’t recommend,But it can be successful technically.
In the situation of soft forks,you will have mined the block you consider valid which is actually ignored by other miners.When they isolate your block,you will think it is just unlucky and try to create another invalid block……then you will get an isolate block once again.It will spend a long time to figure out what’s going on if you are just a small miner who create blocks not often.