I was reading the Wikipedia[1] article about smart contracts, I still don't know what a smart contract is.
They are useful is situations where an actor would benefit from altering the result of the computation, or masking values. The primary use case that I've seen is for escrow payments with Ether, the Ethereum blockchain's native currency.
They trade processing speed for finality and verification of results.