A Smart Contract is a piece of code that allows for complex transactions to occur on a blockchain.
Basic Smart Contracts can allow a buyer to acquire an NFT for a set number of tokens, or allow an NFT holder to prove his ownership to gain access to utility.
Advanced Smart Contracts can power highly-complex interactions, such as those found in blockchain games. For example, these may allow NFTs to be borrowed for set time periods, destroyed if certain criteria are met, or to allow the traits of an NFT to be upgraded.
Smart Contracts began with the introduction of the Ethereum blockchain in 2015, and they facilitate much of the everyday interactions of an average NFT enthusiast today.