The pain in the ass with buying Bitcoins is due to a simple thing: you never own government currency, you always ask someone else for permission to use it and it's always based on human decision. Gold and Bitcoin you can own. Paper bills you can own to some degree (they print more of them every minute, thus taxing your savings all the time). Digital virtual currency USD or EUR in your virtual bank account - you don't own. Banks can even reverse SWIFT/SEPA transfers if they want.
Here's how you normally do it: send a transaction with fairly recent inputs with a zero mining fee. If you are lucky, it will propagate slowly and will reach the merchant sooner than 50% of the network nodes see it. When the merchant sees your transaction, he ships you the product, then you immediately send out double-spending transaction with standard mining fees (sent to your own address). It will propagate much faster and probably will end up mined before the first one.
Fraud with zero-confirmed transactions is most likely in some fully-automated schemes like lotteries, where repeated attempts to reverse the payment pay off immediately.