The blockchain is public but it doesn't show who owns the wallet. For that, a further investigation is required employing many resources. Governments can trace back until they find the on ramp transaction where fiat where converted to crypto and viceversa. This on ramp is usually KYC compliant and therefore the owner can be traced.
This is a long convoluted process that uses many resources, especially if the criminals were hiding their tracks, so it's only used in big profile cases like terrorism or drugs cartels.
And this is the reason why these criminals no longer use bitcoin.
But for regular Joe that wants to buy 0.1 BTC and be discrete it's fairly anonymous, certainly more than a credit card.