Bitcoin does not store account balances. It stores discrete unspent outputs, and a wallet's balance is a total calculated from the ones it can spend.
Outputs are consumed whole
Every transaction takes existing outputs as inputs and creates new ones. An input cannot be partially spent.
Paying a small amount from a larger output means consuming all of it and creating two outputs: one to the recipient and one back to the sender.
That second output is change, and it is a new output belonging to the sender rather than a remaining balance in an account.
Validation only needs the unspent set
A node verifies a transaction by checking that its inputs exist in the set of unspent outputs and have not already been consumed.
Nothing about the history of those coins matters, so the state a node must hold is the current output set rather than a balance for every participant.
Transactions with no shared inputs are also independent of one another, which allows validation to be performed in parallel.
Fees depend on how many outputs are combined
Transaction cost is driven by size in bytes, and each input adds a signature and its associated data.
A wallet paying from many small outputs produces a large transaction and a high fee, even though the amount transferred is modest.
This is why wallets consolidate outputs during quiet periods, combining many small ones into a single larger one while fees are low.
Privacy properties differ from accounts
A fresh address can be used for every output, so there is no single identifier accumulating a person's entire history.
Combining outputs in one transaction reveals that they share an owner, which is the primary way chain analysis links addresses together.
The result is a system that is pseudonymous by default and progressively less so as outputs are spent together over time.
Account models trade this for expressiveness
An account-based chain stores a balance per address and deducts from it, which is simpler to reason about and far easier for contracts to work with.
Contracts holding persistent state fit naturally into that model and awkwardly into one where funds exist as discrete consumable pieces.
The output model gives up that convenience in exchange for simpler validation and a state that describes what is spendable rather than who owns what.