Contracts are made between two parties to define the terms of an agreement, but often need the help of lawyers, courts, banks, or other intermediaries to enact and enforce. With a Smart Contract, the terms of an agreement are coded into software and are enacted and enforced automatically when milestones or transactions occur. This is powerful because it allows for a system where anyone can form an agreement with anyone else and not have to worry about trusting the other party.
However, smart contracts need to be meticulously created to make it impossible for one party to break the contract without the permission of the other party. Smart contracts fail when they are poorly constructed and allow for loopholes or what appear to be hacks. The most notable of these was when “the DAO” was an organization created using a smart contract that mistakenly allowed the entirety of their funds to be removed, ending the organization.