Detailed answer, shorten it as you please:
1. You press "send":
Wallet signs a transaction with private key to prove to the network that it's a valid transaction.
2. Your transaction is sent but "unconfirmed":
Wallet sends the transaction to the network. This transaction is like a file which is shared with everyone (and most importantly, with the miners) p2p style - it's floating around the network, being shared. If the transaction is in any way not valid the nodes and the miners of the network would not "accept" it - they would delete it and stop sharing it.
Each miner maintains their own "mempool" which is basically a pile of transactions that floated around. When you sign a transaction and transmit it p2p, you're hoping the nodes and miners relay it to each other until most everybody has a copy of it in their pile of transactions. "Unconfirmed" means the signed transaction is floating around but hasn't entered the blockchain yet. This is considered "unconfirmed" because even though you signed it and it's valid, you don't know in what order it will enter the blockchain.
3. Your transaction "confirms":
The miners build their blocks from whatever they have in their pile, so if your transaction is there, it is being included in the next block. When a miner "finds" a block, it contains all the transactions the miner had in their pile. Until it's in the block the transaction is just floating around, it's not actually in the blockchain - but once in the blockchain you know there's very little anyone can do to "reverse" or mess around with the order of transactions so it's "confirmed".