httpwebwitch - 8:24 pm on Oct 16, 2012 (gmt 0)
I've abandoned jobs a couple of times - but never because they were "technically impossible"... Usually "impossible" is a lame excuse for "don't want to solve it" or "doing it right would be waaay too expensive". I've abandoned projects because the initial requirements gathering and/or proof of concept have shown that the effort required would be far beyond the budget, that I don't have the equipment or skills to finish the job, or that I can't devote enough time to satisfy their deadline and/or expectations.
The right time to abandon a stinking ship is ASAP. When you notice that it might not be profitable to continue on with it.
In one case, I returned what little I had accomplished in return for a small portion of the deposit, because the bit I had done was worth the time spent. In other cases I returned nothing to the client and abandoned payment altogether. Time lost spent on wasted effort.
Yes, it is damage to your reputation, but only if the client blabs about it. So, do your best to mend the relationship with apologies and concessions as appropriate to the situation. But don't make emotional decisions -- abide by the contract, and get paid what you deserve. Even if that's a financial loss.
In agency & freelance work, this kind of thing happens. A diverse workload will hopefully balance out the occasional losses with successful profitable projects too.