Too Long; Didn't Read
The concept of a decentralized application was born in the era of the blockchain hype, when all the necessary tools for implementing logic appeared. At it's best, all the logic was implemented using the blockchain and the UI interacted directly. Such applications were quite slow and uncomfortable. To do at least some action with dApp you need a cryptocurrency and some kind of UI (a special wallet or browser extension) - you need to sign transactions. The second problem, which still remains no solutions with decentralized applications - mass. Finding such users is still extremely difficult.