This happens fairly often. Maybe the developer is in the hospital or dead, but more likely they lost interest in the project, or felt like they were not making enough money on it.
Developers chronically underestimate and overcommit, and then when they realize they've done that they either ask for more time and money, or move on. For their part clients frequently under-specify and then expect the programmer to accommodate feature/scope creep, because every little change is no big deal by itself.
At least half of my clients came to me after their developer stopped responding, or demanded more money. See http://typicalprogrammer.com/the-joys-of-maintenance-program...
If you have a written contract that specifies deliverables and schedule you can sue for breach of contract. In my experience these suits rarely go anywhere unless there's a lot of money involved. If the amount is small enough for small claims court it may not be worth it, and if it's too much for small claims court you will probably have to retain an attorney, pay filing costs, etc. You will need documentation; if you don't have enough the mediator or judge will give equal weight to both sides.
I always advise clients to make sure they have access to their source code and data at all times. I recommend setting up hosting and source code control on accounts you control and give the developer access, but not administrative access. Likewise always register domain names and buy software licenses yourself so you own them. I also advise clients that they need to protect themselves and talk to their developer at the first sign of communications problems -- don't wait for the developer to stop answering emails and phone calls.
If you can find another developer who will work with you and finish the code, great, but good luck finding one. Skilled developers are hard to find, period, and many developers don't want to take on a partly-working pile of code someone else walked away from. You may get a few developers who will tell you what you have paid for is crap and you have to start over. That may be true, but it's also a common knee-jerk reaction when one programmer looks at another programmer's code.