I think the main difference between the two models is scalability. Smart contracts very difficultly scale well. If you look at the most scalable proposals of smart contracts at the moment all of them shard the public network and execute the state machines on a reduced subset which in the end also results in reduced decentralization.
So, either you have a model which doesn't scale at all (Ethereum) or you got a model which scales decently (Algorand) but is less decentralized and easier to attack, or you got a model which scales very well (Steem - "soft consensus") but you need to run it yourself and people have to verify things externally before trusting the values.
I did some comparisons in terms of price and ease in my last paper, and executing things on Steem via soft consensus was ridiculously cheap even if you add the server renting costs together.