"The SatoshiDice Bitcoin game operates with zero confirmations, meaning the time it takes for you to send a transaction and receive your winnings is near-instant. Bets are evaluated as soon as the client picks up the broadcast. This is safe because it always builds the answering transaction with the output of your bet transaction. This means a blockchain that does not contain your bet cannot contain the site's answer."
The risk SatoshiDice is taking is that you might be employing this strategy:
* If I win, I let the transactions confirm and collect my winnings
* If I lose, I very quickly double-spend the coins I had used in my bet, paying a sufficiently high transaction fee that this transaction is more likely than the original transaction to be included in a block.
This way, I capture my wins and can cancel some (most?) of my losses.
Follow this strategy sufficiently often and it would be net positive over time.
I imagine SD have algorithms that look for this behaviour and cut you off pretty quickly if you try it.
The point is: their "use the output in the input" technique prevents you from double spending winning bets... but, of course, what you really want to do is double spend the *losing* bets!
[Edited - got output and input the wrong way round]