There are some classical examples:
- An airline company that sells tickets online through a smart contract. The client will be refunded by x% if the flight departs or arrives at destination with more than n hours delay.
- A farmer buys an insurance to cover him from bad weather. If the minimum temperature from dayStart to dayEnd will be more than n day below zero degrees C the farmer will cash a certain amount.
As you can see the above examples relies on Oracles in charge to update the "Virtual world" with data coming from the "Real world". And that's another great subject to debate.
The problem with these 2 examples is rather straightforward though: What's the benefit of smart contracts in those scenarios?
- When buying an airline ticket from an airline company, you are already relying on a centralized service while not using a middle-man. Except for payments, obviously, but that's where plain old cryptocurrencies would suffice as well. Adding a smart contract into the mix only increases complexity while the benefit is...?
- Same when buying an insurance. The farmer is already dealing with an insurance company directly, so a smart contract would only add complexity. Granted, one could imagine a crowdfunded, free-market type of decentralized insurance, but the viability of such an approach would be a discussion of its own.
The challenge, when applying smart contracts, is that they should not only
work -- which is already hard in its own right. Smart contracts need to be applied to use cases
where they work better than what already exists.