As the Bitcoin whitepaper helpfully explains, the probability of a double spend attempt succeeding drops exponentially with the number of confirmations. One confirmation is extremely low, two is basically (extremely low)².
Full details: https://bitcoin.org/bitcoin.pdf
As an example, my OpenTimestamps server software waits 5 confirmations (by default). I'm not worried about losing money - the calendars are double-spending transactions to themselves. But the software frankly can't handle a double spend - you'd need to manually fix things in the calendar database.
So I just wait a few confirmations to make the probability of a double spend extremely low. So low that if one actually does happen, it's much more likely that Bitcoin itself broke in some way.
Thank you very much @pete for this awesome and complete explanation
Re user's being confused, here's an example.
Even with control of no hashing power at all, you can very occasionally do double spends of confirmed transactions. You just have to be lucky enough for a stale block to get mined at the right time.
Stale blocks are pretty rare these days. I don't have stats handy. But looks like the % is something like 1 in 1000 blocks or less. So that'd be a sub 0.1% chance of success per attempt.