Question: Why do we need to worry about change? Shouldnt it be enough to send the exact amounts plus fees? Thats what I do with all my transactions at least.
That's not how Bitcoin transactions work. Every time you receive a payment, a new unspent output is created. If you don't want to have any change then you have to spend that whole output (it will be now considered as input in your transaction). The more inputs and outputs you have in your transaction, the higher the fee you will pay. You can find more detailed explanation
here. For example, Ethereum does not have inputs/outputs, so there is no change.
Try to think of them as bills. You can't simply tear a 10 dollar bill in half.