The key image of the real output being spent in a transaction is consistent, regardless of the choice of other outputs referenced as decoys.
Therefore if you attempt to spend an output twice, and each time a different set of decoys are chosen, then from the perspective of any nodes listening for transactions it will be obvious which output is the real output being spent.
This is a problem if you are using the same wallet on multiple computers and there is a simultaneous attempt to spend the same output. It's also a problem if the transaction you attempt to send is aborted for any reason (perhaps due to connecting to a malicious node), which causes you to reattempt the transaction to spend the same output using a different selection of decoys.
Therefore to avoid these attacks, announce transactions to your own node rather than directly to a public one, and do not attempt to spend funds from the same wallet simultaneously from multiple devices.
Outputs are only supposed to be spent once, and so under normal conditions this isn't a problem.