Receiving notification of a payment is almost instant with Bitcoin. However, there is a delay before the network begins to confirm your transaction by including it in a block.
Online wallet services (like Blockchain) uses dynamic fees that calculate the required fee for you so that your transaction will confirm as reliably and quickly as possible. You also have the option to set your fees manually for some wallets. Before transactions get packaged into blocks and inserted into the blockchain they wait around in the transaction pool, also known as the memory pool (or mempool for short). Each transaction in the mempool has a certain degree of priority. The priority is based on the amount of coins sent (higher = greater priority) , the age of the coins (older = greater priority) and the transaction size (smaller = greater priority).
A confirmation means that there is a consensus on the network that the bitcoins you received haven’t been sent to anyone else and are considered your property. Once your transaction has been included in one block, it will continue to be buried under every block after it, which will exponentially consolidate this consensus and decrease the risk of a reversed transaction.
Each confirmation takes between a few seconds and 90 minutes, with 10 minutes being the average. If the transaction pays too low a fee or is otherwise atypical, getting the first confirmation can take much longer. Every user is free to determine at what point they consider a transaction sufficiently confirmed, but 6 confirmations is often considered to be as safe as waiting 6 months on a credit card transaction.
What is important to understand is this: some transactions have such a high priority that they don’t even need any fees attached. The first 50kb of each of transaction space in each block is set aside for high priority transactions. Other transactions may sit in the mempool for a long time, mature, and then finally move forward in priority in order to be included in the next block.
If your transaction becomes stuck, it will either sit there long enough to gain a higher priority, or it will get rejected and flushed out of the mempool within roughly a week (in most cases). Once it’s been rejected, you’ll be able to try re-sending with a higher fee. Some wallets will give you the option to resend a specific transaction with higher fees in case it’s not confirmed; however, if you use a wallet with dynamic fees, you can likely avoid this entirely. As a last resort, miners will sometimes have spare space left in their block and will include zero transaction fees on a best effort basis, but it’s not recommended to count on this method.