Dapp is a portmanteau of Decentralized Application and refers to computer programs that run on the blockchain and which have self-enforcing business logic implemented via smart contracts.
Examples of Dapps include decentralized cryptocurrency exchanges, cryptocurrency tokens, DAOs and any other system which uses a blockchain to maintain state and execute business operations.
Some may be surprised to find out that tokens are nothing but Dapps. In fact, Ethereum tokens are a kind of Dapp that implements a standard interface called ERC20. A Dapp which implements ERC20 is automatically detected as a new cryptocurrency token on the Ethereum blockchain.
Decentralized cryptocurrency exchanges seem to be a popular field of research about smart contracts. Such Dapps would allow the free and secure exchange of coins and tokens through a self enforcing smart contract. This way there would be no stolen funds, no centralized storage of funds and no centralized control over cryptocurrency exchanges.