The fact that everybody can see everybody's wallet and transaction is a bad start. One can start trying to track the path of the money.
And if you start selling that Bitcoin you need to give your ID; or you may have bought Bitcoin with your ID and sent to that wallet.
It's a start. They work with probabilities and habits checking. And with more and more businesses asking you to reveal your identity it's hard to hide.
Bitcoin is not anonymous. Not really. It was more anonymous before, when everybody used only core wallet, but many reuse now the same address many use vanity address, light wallets and the anonymity decreases even more.
Maybe it's better this way. Bitcoin is not the best cover for shady people and this may count in the future.
"Lately" quite a number of anonymous coins have arise. Some are better, some are worse; they are not as mature as Bitcoin, obviously. Some may have quite an interesting future, but I can bet that the authorities will not like them