The anonymity is within using several addresses. Just use more than one.
Incorrect. Users can use taint analysis to establish a link between the few addresses. If the user
accidentally spend inputs in two different address in one TX, it would be a clear indication of their link.
Accidents happen, but never likely. Using multiple accounts, wallets, VPN'S and so on will give you a ticket to making sure your identity is safe. Not to say that I do this but if anyone was to do this then it'd be completely effective. Even via PayPal, you can be anonymous if you don't actually link your PayPal to your bank accounts. I never did, and I was still able to make payments for things with people who kindly accepted PayPal.
That's a pain in the ass tho, we should have it easier. Also VPNs don't give you any anonymity... if they want they will request logs and trusting that a VPN will not keep logs is like trusting your favorite exchange will not run with the money tomorrow.. an act of faith.
Ideally we should have every transaction on Coinjoin type transactions by default and nodes somehow run by default with tor integrated to have another layer of privacy without needing to buy a VPN or know how to do any of that. It should be easy for newbies otherwise its useless cause we need a big bulk of privacy-enabled people to reach any decent amount of fungibility.
Thankfully in the Core team they know this so we have people like gmaxwell working on coinjoin type of transaction stuff and confidential transactions etc.