There is often a weak point in these mixing systems, and that is that somewhere in the world there must be a computer/s doing the mixing, and how can we trust that computer is not being monitored somehow.
The biggest challenge is *how compromised* you can accept the system to be before enough information leaks. E.g. if it takes leaning on thousands of nodes spread around the world to get sufficient control to compromise anonymity then that's not 100% secure, but it will be secure enough that an sufficiently powerful adversary is more likely to resort to "rubber hose" attacks (that is: strap you to a chair, and beat you with a hose until you give them the info they want) than trying to take control of the system.
I'm not sure if we can even theoretically get 100% anonymity , but we don't have 100% secure crypto overall either - we have just decided on tradeoffs (key lengths that means it will take all the computing power on the planet "forever" with current technology to brute force it).
Even for security against law enforcement, it "just" need to be too expensive and difficult to be feasible. The only truly tricky adversary is the NSA, and not too many people give a shit whether or not the NSA is monitoring their stuff apparently.
Ultimately I think a lot of this is down to appearance. TOR is a favourite with people with shady intent, yet there are numerous well known attacks (involving controlling enough nodes, typically), or simply leaning on node operators to cooperate with "requests". It's popular because people trust that it will be mostly safe, and certainly better than the alternative, and because it has good PR (from a "protect yourself against law enforcement" viewpoint).