You can Coinjoin all you want, but if the final destination links to you in anyway - IP address, name, address, browser, operating system, patterns etc. all the Coinjoin is useless because government blockchain analysis can connect the dots (for e.g).
Picture coinjoin as a black box, where coins enter and create new coins. Let's make the hypothesis that each of the inputs is equally probable to create each of the outputs (just like in
this whirlpool coinjoin).
You see, you're right in the sense that all of the inputs have a slight connection with all of the outputs, but that's not the point. The point is that you can't match inputs with outputs, to de-anonymize the coinjoined outputs. Blockchain analysis is incapable to connect the dots, because first and foremost
it relies on guesswork, and secondly good software (like Sparrow with Whirlpool) comes with anonymization techniques that hide IP address, OS, and other fingerprints, uses Tor etc.