A smart contract is code deployed to a chain that executes exactly as written, automatically, with no one able to intervene mid-run. Protocols are made of them.
Their strength is also their risk: once deployed, a bug is public and permanent until patched. Audits reduce the odds of disaster; they never remove it.