A smart contract is a collection of functions which are placed in a blockchain.
Decentralized apps / Dapps have to have access a blockchain node in order to be able to call a smart contract or a blockchain function and deliver some functionality to a user of the Dapp.
Bitcoin and Ethereum have large blockchains a fewer people and organizations can afford the burden to run non-stop a node of either one or the other major crypto coins.
In the extreme case of Ethereum it is only one or few nodes which provide access for all of their Dapps through metamask / web3.js .
Which brings the question - can multiple decentralized apps calling the blockchain through a single or few nodes still claim of being decentralized?!
Newer smart contract platforms have smaller blockchains - it is easier to run a node and provide access for Dapps on them.
For more on what a Dapp really is please check this article -
What a Dapp really is