1. What is the basic method of maintaining anonymity?
The basic way is to avoid linking the public keys to identities of people involved.
2. What additional method does Satoshi suggest?
As an additional “firewall”, he suggested also to use another key pair for each transaction, to avoid them being linked to a common owner.
3. What weakness does this additional method have?
Multi-input transactions, e.g. when you want to withdraw from a known exchange like coinbase, bitstamp etc., the exchange usually includes your withdrawal in a batch, with many other withdrawals from different customers to save up on fees. This make it obvious that all the inputs are from the same owner (the exchange in this case).