The original paper has this line, which I believe gets at why you have to spend outputs entirely.
It should be noted that fan-out, where a transaction depends on several transactions, and those transactions depend on many more, is not a problem here. There is never the need to extract a complete standalone copy of a transaction's history
If you didn't have to spend an output entirely, you would need to check every other transaction that also includes that output and make sure the sum wasn't more than it contained.
I'm not 100% certain why inputs and outputs were used rather than keeping balances directly. Ethereum and Ripple keep track of balances directly in the ledger. I suspect there are implementation pros and cons. The following answers list advantages to inputs/outputs. I'd be curious to hear an Ethereum dev's counterarguments to these.
Why does Bitcoin use the input/output system?Why does Bitcoin use the input/output system?
Why does Bitcoin store all transaction inputs and outputs, instead of just an "account/balance" ledger?Why does Bitcoin store all transaction inputs and outputs, instead of just an "account/balance" ledger?