I've been reading the Developer Guide, and they seem to be really strong on the idea of using new addresses for every transaction. I understand the reasoning - anonymity - but I don't really understand the implementation. If I receive 1000 transactions, am I supposed to then keep up with 1000 addresses and how much currency was sent to them? Or is this something the wallet takes care of for me? My understanding was that a wallet had a 1-to-1 relationship with an address. Is this not the case? Can a wallet have multiple addresses?
My understanding was that a wallet had a 1-to-1 relationship with an address.
No that is not the case.
Can a wallet have multiple addresses?
Yes, any good wallet software will support a hundred or more addresses.
is this something the wallet takes care of for me?
Yes. The wallet will handle all the addresses for you.
Wallets can be implemented in different ways. They are just an abstraction that hides the complexity of managing many different addresses.
One popular way of storing many addresses is by using a seed, which can generate a near infinite number of addresses (See Hierarchical Deterministic Wallets). Thus relieving the complexity of storing individual addresses.