Ah, the FunFair example makes it more clear what you mean. I think the main obstacle there is finding/creating a decentralized way for (pseudo-)random numbers to establish true fairness. From what I've heard that problem has mostly been solved, but I don't know for certain.
> The smart contracts have to be in someone's control.
They don't _have_ to be. Someone has to deploy the smart contract, but that doesn't necessarily mean that they get any privileged access to alter/use the smart contract after deployment. That's where a lot of the beauty of smart contract enabled blockchains comes from in my opinion.