Why is my transaction pending?
Although your wallet balance is updated immediately, your transaction will remain listed as 'pending' until at least one Bitcoin miner has included it in a block.
How long will my transaction be listed as pending?
Short answer:
Eco: less than 60 minutes
Fast: less than 30 minutes
Fastest: 0-20 minutes
Explanation:
The time it takes for a miner to pick up your transaction depends on (1) the fee you attach to your transaction and (2) the current state of congestion of the Bitcoin network.
Bitcoin transactions incur a small fee which is paid to the miners that confirm them. Transactions with higher fees are picked up sooner by miners (who optimize for profitability), so higher-fee transactions are more likely to be included in the next block. This means you can opt for faster transaction processing by paying a higher fee. Alternatively, if you're not in a rush to have your transaction confirmed, you can save money by opting for a lower fee.
The default speed ("Fast") is set to have your transaction confirmed most likely within the next three blocks (so less than 30 minutes). If you change it to "Fastest," you'll pay a higher fee and likely have your transaction confirmed in the next two blocks (so less than 20 minutes). Changing it to "Eco" will save you some money, but still most likely result in your transaction getting confirmed within the next six blocks, so generally less than 60 minutes.
Note that, while the above times will be accurate in the vast majority of cases, in the unlikely event of extreme congestion on the Bitcoin network, your transaction may remain pending for significantly longer. But don't worry, if broadcasted transactions aren't picked up by a miner, they are automatically cancelled (meaning the funds are 'returned' to the sender's wallet).
For advanced users, you also have the option of setting a custom fee. You'll want to use a tool like Bitcoinfees to ensure you're choosing an appropriate fee given the current state of network congestion.
Why are some Bitcoin transactions more expensive than others?
Each transaction is made up of data, which is measured in bytes. In general, more complicated transactions (more inputs and outputs) involve more data and so are more expensive.
Fees are measured in satoshis/byte. A satoshi is the smallest divisible unit of bitcoin. This is 0.00000001 BTC (8 decimals, or 100 millionth of a bitcoin).