You can still stop a transaction from taking place even after sending the coins, that's why you're supposed to wait until 6 confirmations or so..Bitcoin is not as reliable as you think, and because of that, many retail stores won't accept it....
If you've paid a reasonable transaction fee, and all of the inputs to your transaction are already confirmed, then it is quite difficult to stop a transaction after sending it. For small transactions, it would be more expensive for to stop the transaction than the cost of the transaction itself. This is why people say things like:
You don't need a confirmation for a small purchase,
- snip -
Someone trying to do a 51% attack wouldn't be wasting the little time they have to pull the off the attack buying coffee and a doughnut.
- snip -
In addition, accepting an item or service as part of a purchase transaction, and then reversing the transaction before it confirms is called fraud. If the merchant can identify you, they can refuse to do business with you in the future and they can have you prosecuted for fraud. In general, the risk:reward ratio makes it not worth the risk for a small reward such as a free candy bar, doughnut, or coffee