This topic is slightly old but still relevant.
Can anyone elaborate on how this works? Addresses accumulate "inputs"?
They accumulate outputs (not inputs) of previously incoming transactions. They will be connected 1:1 to an equal amount of inputs of a new transaction once you send them.
It works like in the real world with small coins, if you only receive money in small amounts of cents then your wallet will become heavy and full of small pieces of copper. When you decide to spend it it must be counted and that costs fees.
Received bitcoin amounts (outputs of incoming transactions) are lying at the address that received them as individual pieces of data ("unspent outputs", "UTXO") and they don't move until they are spent again. They accumulate. Only when you spent a certain amount it will collect as many of these small outputs as needed and connect them to the inputs of a new transaction that "melts" them together to a larger amount. This transaction will have a lot of inputs and two outputs, one for the amount you want to pay (which is then again laying at the receiving address as long as it is not moved again by the receiver, but it will be all in one output) and another small output for your change (if the inputs didn't add up exactly there will be something over that must be directly sent back to you (again as a small output that will eventually spent by you later)).