At the most basic level, smart contracts are simply self-executing contracts. 

Instead of the terms of the agreement being written on a piece of paper, they're written into lines of code deployed on the blockchain. 

Because the code is independent and can't be modified after deployment, participants can be certain that every term agreed upon in the smart contract is automatically carried out by the code.