The effort to successfully pull off a double-spend is disproportionate to the cost of paying for a couple cups of coffee. Not only is the window smaller than 10 minutes, but when the double spend actually works, you might not be able to go back to that coffee shop. ;)
Therefore, the risk of accepting such a small transaction with zero confirmations is acceptable for a store in order to save the customer the time to wait around, and stores usually should accept your payment with zero confirmations i.e. as soon as the store's device shows the incoming transaction.
If a huge sum, say more than $1000, is involved, it would probably be acceptable to the paying party to wait for at least one confirmation.
When the store uses a payment processor, the payment processor will accept the payment at zero confirmations and carry the risk of a double-spend.