A somewhat more intuitive way to think about balance calculations is to think of you you use an actual fiat wallet.
If you want to look at how much money you physically have right now, you would open up your wallet, take out all the notes of varying denominations, and sum them up. This gives you your balance.
Bitcoin does something similar, where an address is similar to your physical wallet. A single address may have multiple utxos linked to it. The balance for that address is the sum of all the utxos.
The key thing here is that bitcoin only tracks unspent transaction outputs. Thus, to arrive at the balance for the address, it just needs to iterate through the blockchain, add new outputs when they are created, and remove old ones when they are spent. Moreover, this is a extendable process. If you know the utxo set as of block 100, you do not need to recalculate from block 0 to update with data from block 101. You can simply update your set from block 100.
This again is similar to how we use physical wallets. No one keeps track of all the notes and coins they have had in the past (spent transaction outputs). They only keep track of what they have currently (utxo). When a new transaction occurs (say you buy milk), you only update the current state of your wallet by removing a note, and putting the change back. You don't need to calculate it from the first time you used money.
Bitcoin takes this a step further and has a concept of accounts, which are multiple addresses that act as one wallet. A similar analogy would be if everyone in your house pooled the money from all of their wallets, so that you can spend it as one. Again, the balance of an account is simply the sum of the balance of the addresses in it.
2Note that to bitcoin, "address" and "account" are separate things - which one are you talking about? – Caius Jard – 2018-07-31T15:06:56.380