A contract is simply an legally binding agreement between two or more people. A smart contract is a program that digitally enforces the execution of this agreement.
In a normal contract, like home insurance, a homeowner pays an insurance company a premium and then receives payments under certain damage scenarios. In a smart contract, these prespecified damage scenarios would be digitally written in Ethereum’s coding language. The homeowner would deposit money into this smart contract as well, and would be automatically paid off in the programmed stipulations.
The smart contract is decentralized and lives on the Ethereum blockchain, and is capable of automatically executing itself. Instead of waiting for an insurance inspector and then a claims adjuster, a smart contract could automatically pay out the smart contract based on a satellite photo.
Insurance is a complex use case, because notice in the example above, it would still rely on a satellite photo, which might not be able to see the extent of the homeowner’s damage. What if there was flooding inside the house? Right now, there are more use cases for simpler smart contracts. Prediction markets are an example of a smart contract that is ready for widespread use. I can make a bet with my friend Bob that the Eagles will win the next superbowl. Bob and I will each fund the bet with Ether, and the contract will automatically pay the winner. Note again, that there still needs to be someone or some way to inform the smart contract who actually won the game.