BitCoin is no more anonymous than your IP address. As soon as your BitCoin address can be tied to your identity, such as by trading through a major exchange, your transactions might as well have your name on them.
Like IP, anonymity can be emulated through routing mechanisms. Basically laundering your packets and coins. Tor, the state of the art in this kind of anonymity, is not without faults. And there isn't really an equivalent to Tor for BitCoins that I know about.
Related, I know BitCoin can be run over Tor, but this is not the same as a Tor for BitCoin. This merely protects against traffic analysis to tie your BitCoin account to your IP address.
Tor for BitCoin might look more like a network of wallets that simulated a perfectly noisy economy. If A wanted to pay B, A's coins would go everywhere to B, C, D, E, F and so on. Over time coins would pass in and out of people's wallets until at some point the right number would stick to B's wallet equal to the number A sent. Hopefully, the ones that stick to B's wallet will be a mix of ones that A actually sent and other coins being anonymized by the network.
There are obvious flaws in this design. But hopefully it helps illustrate why BitCoin isn't anonymous and the difficulty of making it anonymous.