In a non-technical way, coinjoin is basically "combining" transactions.
Without coinjoin:
Me => pays => Bob
Alice => pays => Ben
Tom => pays => Burt
With coinjoin:
Me, Alice and Tom => pay => Bob, Ben and Burt
This method improves anonimity, but it's not really the same as a mixer:
My "public" wallet => pays => mixing service
mixing service => pays => my private wallet
With coinjoin, there's still a direct link between Me and Bob, Alice and Ben, Tom and Burt. The thing is that by combining transactions, we've made it harder for people to analyse them. When using a mixer, there should be no link between the deposit and the withdrawal.
You're right there, those wallets improves privacy for your normal transactions, but they don't remove the blockchain trail at all. So if pure privacy is what you are seeking, it would be enough.
But I would say that it makes the link between A and B impossible to prove association. That is, by ensuring every ABC => pay => XYZ, you then show that just because you are A doesn't mean you've paid to X or Y. Sort of like if you've deposited ABC into a bank and the bank washes money for XYZ, the only proven association between ABC's money is that they use the same bank.
On the other hand, especially with a low-volume mixer or a mixer that doesn't practise very careful habits, you might get flagged for using a mixer just because of easily traced addresses and wallet associations. Though I should say that because there aren't that many users on Wasabi or Samourai yet, there's possibly the same risk of being easily associated anyway.
So yeah, definitely, if you want to disassociate, you want a mixer. And a good mixer, at that. Preferably one that has highly customisable and randomisable elements.