dApps are decentralized programs that run on blockchain. They have no central authority, they just connect the participants in the network. For example, DeFi lending platforms allow you to borrow without intermediaries. Since there are no executives, all transactions happen automatically using smart contracts.
Smart contracts are self-executing contracts. In fact, it is a programmable protocol in which a certain logic is laid. Smart contracts are based on if/only commands. If a certain action occurs, it will trigger another action.
So, answering your question, dApps are applications that work on the basis of smart contracts. Smart contracts are elements of dApps.