Anonimity is possible with Bitcoin, but it is neither automatic nor particularly convienent.
It seems to me that it's NOT really possible, at least within a single wallet, without resorting to money laundering. Unless your outgoing transactions divide evenly into your incoming ones, it sounds like sophisticated analysis of the transaction graph would reveal a series of transactions that can all be reliably linked together, and therefore identified as coming/going to the same wallet. The only thing that breaks the chain is dropping your balance to zero.
Now maybe the situation isn't as bad as that, but it's clearly a common occurrence, and I think you guys are downplaying it too much. This would be terribly dangerous to anybody who needs some level of untraceability but doesn't understand the technical details.
This could be worked around by providing a good UI for managing multiple wallets, or segregated areas in a single wallet. As long as the user is made aware that all bitcoins in a single wallet are forever (potentially) associated together, they can act accordingly. But it's a serious risk, and you're not doing anybody any favors by downplaying it and making using multiple wallets difficult.
(And so I don't sound like an ass who's just here to complain, in general I think Bitcoin is one of the most important and game-changing inventions of the past millennium.)