Whenever you send someone Ethereum, the transaction goes through different devices running the Ethereum protocol around the world that make sure the transaction is valid. Once the transaction is verified it then “waits” inside the Mempool.
In ideal circumstances an Ethereum transaction takes under 20 seconds, and some sites require multiple confirmations. You can view the average blocktime here: https://etherscan.io/chart/blocktime. Sometimes due to congestion transactions may take longer, although the Ethereum Development Team is working on scaling solutions. You can view detailed metrics and a calculator for suggested Gas (fees) here: http://ethgasstation.info/
It’s basically waiting to be picked up by a Ethereum miner and entered into a block of transaction on the Blockchain. Until it is picked up it’s considered an “unconfirmed transaction” or a “pending transaction”.
In some cases there are so many transactions and blocks are finite not all transactions are picked instantly. Sometimes you need to wait for a certain amount of time until it is included in a block.
Once your transaction is included in the block it receives its first confirmation and it’s no longer pending. After another block of transactions is added it will get another confirmation and so on…
This process for transactions needs gas (fee for the Miner) and time to go through your buddy.