This can be due to many reasons. If the blockchain is congested (not enough miners to meet the volume of transactions) then it may take longer for it to confirm your transaction.
If you set a low gas price, it may take longer for your transaction to confirm as higher gas transactions may be mined first.
https://ethgasstation.info/ is a good website for estimating how much gas price you should set and how long it may take for the Ethereum Blockchain.
Similarly, https://bitcoinfees.earn.com/ can be used for Bitcoin transactions.