Yes and Yes.
What might fit it all together is:
1) Bitcoin only has the concept of inputs & outputs.
2) All transactions (except coinbase) have an input and all transactions have outputs.
3) The input of a transaction (every transaction) is the output of some prior transactions.
4) You can't spend part of an output.
So say you have an output of a prior transaction with 5 BTC. You want to spend 1 BTC. It is impossible. So the client does this.
Input A - 5 BTC
Output B - 1 BTC
Output C - 4 BTC
B is the address of the person you want to pay. C is a NEW ADDRESS from your keypool.
[... snip]
This definitely ties it together for me, thank you. I wasn't sure
why coins were "sent back" to me if I transferred them, but that makes sense now. I really think I have a handle on the basics.
It seems like every simple question I ask ends up being a few days long adventure in learning and reading, but it's worth it. Thanks again for your help and for being so patient. On to the next adventure!