Currently, if you receive money it is possible to trace it back to some event, be it a theft, or funds used in some legal or moral grey area.
While these tools will make it easier to launder money, they will remove this "taint".
It is possible and likely that governments will attempt to censor transactions using these "tainted" funds, seriously damaging fungibility.
Many believe that for digital currency to succeed, it must be fungible - the title of the Bitcoin whitepaper is "Bitcoin: A Peer-to-Peer Electronic Cash System".
Untraceable remote money transfers to anonymous parties are the scammer's dream. This makes Bitcoin a scam magnet.
With a centralized currency, the central repositories of currency have ultimate control over the currency: if a mistake or fraudulent transfer occurs, they revert it.
With a decentralized currency, the central repositories of currency have no real control over the currency if they lose control of the keys.
The solution, of course, is don't centralize. At a low level of course, theft can still occur, but notably, if a bank decides to steal from you by i.e. introducing fees or whatever, you they can do that and you can't really do anything about it.
Another would be to only store the centralized currency, and only facilitate transactions. So the person with USD deposits USD into the facilitator's account and provides a Bitcoin address to the facilitator. When the person with Bitcoin decides to make the trade, they make a Bitcoin deposit to the facilitator's account. The Bitcoin deposit automatically gets forwarded to the person who deposited the USD, and the USD gets forwarded to the person who had Bitcoin.
At no point in this transaction does the facilitator store Bitcoin.