A Bitcoin transaction does not move account balances. It references one or more unspent outputs as inputs, satisfies their spending conditions and creates new outputs with new conditions.
Input values must cover output values. The difference is the miner fee. A wallet commonly creates a payment output and a change output because an existing UTXO is consumed as a whole.
A valid transaction may first circulate through mempools. It becomes confirmed when included in a valid block. Additional blocks make reversal increasingly expensive but do not create absolute mathematical finality.
For the clearest picture, read this entry together with UTXO, Private Key, Mempool, Transaction Fees, Segregated Witness. The reverse links also lead from Bitcoin Whitepaper, Timechain, Full Node, UTXO.
Consumes whole UTXOs
Creates new outputs
Difference becomes the fee
Block inclusion confirms it