Smart contracts are self-executing contracts where the terms of the agreement between the buyer and seller are directly written into lines of code. These contracts automatically enforce and facilitate the negotiation or performance of an agreement without the need for intermediaries.
On the other hand, dApps, short for decentralized applications, are applications that run on a decentralized network of computers rather than a single server or centralized cloud service. dApps often utilize smart contracts for their functionality, but they are broader in scope as they can include multiple features and interactions beyond just the smart contract itself.