I have seen almost all the DApps have some kind of tokens, ICO associated with it.
Anyone kind enough to explain what is the relationship between a DApp and Tokens?
Dapps as their name suggests are decentralized apps. They are built on some blockchain platform like ethereum or neo. Crypto kitties and crypto celebrities are one of those examples.(Now developers can charge you for using these apps in form of ether or anyother currency and can also provide some incentives like in case of above mentioned dapps)
ICO or tokens can both be dapps or some air tokens through which funds are generated and later those tokens are replaced if that company or institute comes up with their own blockchain platform or whatever technology they promised(for example vechain is an erc20 token and once vechain will have their own blockchain they will replace erc20 tokens with their own coins). People have also generated icos for dapps meaning that application will stay on current blockchain platform but people can participate and have a share in that dapp in form of tokens and dev can raise money through those icos.
And to answer your question how token relates to dapps?, if its not an airtoken meaning dev havent just raised funds through erc20 token to come up with their own solutions later as in case of ven, then those tokens are utilized to use dapps, like funfair coin is an online gaming platform and in order to use that platform you will need funfair coin.