When you send bitcoin to someone, that has 3 piece of information:
1. An input
2. An amount
3. An output
To send bitcoins, you need bitcoin address and a private key, your transaction must be verified by miners, you are sometimes forced to wait until they have finished mining. The bitcoin protocol is set so that each block takes roughly 10 minutes to mine.
The transaction contains the UXTO as inputs and the outputs with scripts describing the conditions for the outputs to be used as inputs in the future. The unused inputs are sent as fees.
Miners are merely putting transactions in with a bunch of other stuff (merkle root, hash of last block, timestamp etc.) and increase the nonce till they found a block that fits the target requirement. Once they fit the target requirement, the block is broadcast. If the block has your transaction, you gain a 'confirmaiton'. Bitcoin's difficulty is adjusted every 2016 blocks to try to keep the time at around 10 minutes.