transactions are public but if no one knows that a public key is yours it's difficult to trace. and like you said, there's tools to anonymize your bitcoin transactions completely
Tumbling is supposed to make tracking non-trivial. Anyways you can always convent to another coin, especially one with more anonymity, and then back to Bitcoin.
Bitcoin itself isn't anonymous at all: All transactions are public. Only via a Laundry you can cover up your tracks.
Zerocoin and Zcash were created to fix that.