Case 1: You deliver first) The client got your work and could use the money on something else.
Case 2: The client pays first) The client doesn't have your work yet, but once they pay, you have no reason not to give it to them, you can possibly not just sell it to another person and if it's software you could just sell a copy (legal or not).
Case 2 should be seen as the most reasonable for all parts. You can always set up a server they can see the work on before they pay, of course. Also consider asking for an 1/3 upfront payment.
Although this is really funny it should only be used as a last resort IMO.
Doing these kind of semi-blackmailing practices can further harm the relationship with your client and it's probably not even legal in most countries.
Tim Van Dijck It's also not legal not being paid according to a contract, but here we are. This is, as I see it, a way to subtly f**k with the client if it's a small project where you don't really care if you'd get paid and you don't want to deal with the court, lawyers and so on.
Emil Moe
Don't deliver before you have seen your money.
Case 1: You deliver first) The client got your work and could use the money on something else.
Case 2: The client pays first) The client doesn't have your work yet, but once they pay, you have no reason not to give it to them, you can possibly not just sell it to another person and if it's software you could just sell a copy (legal or not).
Case 2 should be seen as the most reasonable for all parts. You can always set up a server they can see the work on before they pay, of course. Also consider asking for an 1/3 upfront payment.