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.
Consumes whole UTXOs
Creates new outputs
Difference becomes the fee
Block inclusion confirms it