Bitcoin isn't anonymous, it's the opposite
Bitcoin has long been seen as the currency of choice for illegal markets and criminals because it is "anonymous" - however, Bitcoin is actually the opposite of anonymous, contrary to popular belief, Bitcoin is extremely transparent.
The immutable ledger
Every Bitcoin transaction that takes place on the blockchain is immutably added to the ledger of transactions. This means that nobody can ever edit or destroy this information. Utilising this blockchain ledger, you can simply follow every single Bitcoin in existence, from where it started to where it currently sits. You can see every address that it, or part of it has passed through and where it has sent it. Every address holding or spending Bitcoin can be seen openly and transparently by anyone willing to take a look at the blockchain's data. Who owns the address? Well, that part is anonymous. Does that mean that you can never find out who owns an address? In practice - no.
The Bitcoin trail can be followed
Let's say that someone stole some Bitcoin from someone else. The person that they stole this Bitcoin from is very angry that they stole it from them and spends a lot of money on private detectives who are blockchain experts to track down the person who stole the Bitcoin from them. How could the thief escape? Anywhere the thief sends the Bitcoin can be seen by the detectives. Let's say that the thief wants to unload the Bitcoins into fiat money, well, they need to sell it to someone, to sell it to someone, they need to use an exchange or an in-person transfer. All of these transfers can be seen. If it is an exchange, you could simply contact the exchange. If it is an in-person deal, you can simply follow that person's spending of the Bitcoin they bought to find out who they are. Once you find out who they are, you've got a real trail to who the person was and how they got connected with the buyer, which helps you track them further.
Let's say that we live in a future where someone can actually spend Bitcoins in person in a store, well, that's even worse. The thief would be spending the Bitcoins he stole in places that can easily be identified by their Bitcoin address. If the thief buys a coffee at a Starbucks with a direct Bitcoin transaction, that transaction can be seen by the detective and it wouldn't be that difficult to figure out that it is a Starbucks, as many other people would be spending money there and the Bitcoin address of the Starbucks would become fairly well known. Even if the Starbucks used a new Bitcoin address for every single transaction, it still wouldn't help, as investigators could simply put out a bulletin for companies to say if they own this address due to a legal investigation of theft. Not a single business that the thief spent crypto in would spill the beans? Once just one business does, it's very likely you'll find video footage of the thief from the establishment, making the trail very hot.
But what about Bitcoin mixers?
Bitcoin mixers are a service that takes a Bitcoin and attempts to mix it up with coins from other people, spreading out the transactions between various different addresses who are also using the mixer and muddying the waters as to where the original coins came from.
However, the reality is that all this does is make it more difficult and time consuming to trace, it doesn't kill all links between the addresses because that is simply impossible due to the nature of how the blockchain operates. The links may become more difficult to trace but the trail is still there, someone dedicated enough will still be able to discover the destination of the stolen Bitcoins.
Cash is far more anonymous
Now imagine the same scenario with a bunch of dollar bills stolen from someone's wallet. How would you ever find them? There is no ledger of transactions between individuals in person when you use cash. Once the person has your cash and is out of sight, they are as good as gone. There is no hope of finding that person again. None of their future transactions with the money that they stole can be seen publicly because dollar notes don't have unique identifiers that are publicly traceable for each transaction made between individuals. Your unique dollar bills might as well have vanished off of the face of the earth!
So why do people think Bitcoin is anonymous?
Well, here's the thing, while Bitcoin is hyper traceable and transparent compared to cash, it's also a lot of effort to go through to actually find out who owns an address. The reality is that unless you have a lot of time on your hands or some disposable money to spend on experts to track it down for you, you'll never find out who stole your Bitcoin - it is simply too costly for most people to bother unless it is a significant sum of money stolen in a huge heist.
The other part of the reason is simple, Bitcoin's anonymity and popularity among criminals became a meme which spread. The criminals aren't necessarily experts on the intricacies of blockchains and the traceable nature of them - thus they don't often understand these nuances. They simply see that other people are using this "anonymous" internet money for crime and they think that it must be a good idea, as everyone else is doing so.
So, perhaps we should stop spreading the meme that Bitcoin is so anonymous because really, it isn't. Or, conveniently if we want to make criminals easier to trace and catch, maybe we should keep spreading the meme.