When a transaction has been initiated, it needs to be confirmed on the blockchain. To put it simply, the transaction ID is sent to a pool of other transactions where they are all waiting to be picked up by a miner who has the responsibility of confirming these transactions. Only after they have been picked up and confirmed will they appear on the blockchain.
At times, a lot of transactions occur at once, and many are sitting around waiting to be picked up and confirmed. This can lead to congestion which ultimately slows down the time it takes for funds to be transferred from one wallet to another. What this means is that only a certain number of transactions can be confirmed per second.
Depending on the severity of the congestion, it can take several hours up to several days before funds are transferred and posted on the blockchain. Scalability is a major issue many blockchain projects are hoping to solve.