Sometimes, the original developer hits technical limits. Maybe they'd simply bitten off more than they can chew. People make mistakes and will compound those mistakes until everyone around them gets burned. This teaches us not to be cavalier with other peoples' money.
Though the company that has to handle this crisis can expect to get paid less initially from a depleted budget, there's still an opportunity here. The reputation and project value is diminished and the client has to somehow reassure the investors they can move forward with a new developer. The new team can hit the ground running with renewed energy which helps boost moral; excites the old guard.
Once progress is blowing away expectations, support can return and stronger revenue flow with it as investment interest grows once again. This is unique in that the risk is high and nerves are frayed, but the contrast with the last developer will be favourable and this builds a more enduring vendor loyalty if the project turns around. This is how relationships that last years are formed.
Take for example the augmented reality kiosk I build for the Mayo Clinic's Mall of America location back in 2011. Two major American vendors try and fail and it takes a good ol' Saskatchewan boy to pull it off in just 5 weeks of development time. Proving once and for all that talent can be found anywhere...even in Canada.
But what of the old developer? Especially if there was some shady conduct? Fraud, even. What are the consequences? Common sense suggests possible legal or financial claims depending on severity. Just how deep down the rabbit hole of stupidity can they fall?
Let me highlight just one situation I found particularly sad. Imagine a mobile application that needs to work on iOS/Android and connects to a managing server. Easy enough, right? Wrong. In this particular case, the developer absorbed tens of thousands of dollars which he spent on vacation trips and sports games rather than doing the job. His choices resulted in a critically malfunctioning iOS version and a fake shell of a program for Android.
This level of disrespect and incompetence is stunning in a social media age. So lets take it one step further, what else could this developer do to make the situation worse?
Would he try to publish everything in his name thus holding the client's publishing rights hostage? Yup.
Would he refuse to sign an agreement saying he'd refrain from building a similar app and then as soon as he's fired try and do just that? Yup.
Would he, oh I don't know, secretly send the clients' intellectual property overseas hoping some outsourcing might fix the problem since he spent all the money...
Would he be dumb enough to leave the overseas user accounts in the developer database...
Seriously, this happened. Take my advice, hire a developer you can trust. Get personal references. Review past work and talk to past clients. Software can seem like a black hole for regular folk. Demand results on a weekly basis. Never allow a developer to go more than a week without clear progress.