There may be several reasons:
- the transaction was sent with a low gas price. The order in which transactions are processed depends on the gas price you set: expensive transactions can get processed faster (minutes), and cheaper ones have to wait longer (sometimes days).
- several transactions are sent at once and the first transaction with a low price delays the current one. Please, read more here.
- there are connectivity issues with your Ethereum wallet. Transaction is not broadcast to the internet. The easiest way to work around that issue is to reset the account.
E.g in MetaMask you have to go to Setting > Advanced > Reset Account. This would force MetaMask to forget your outgoing transactions. Then you can try again.