I actually can feel your pain and relate. A programmer I'm building language software with had an unexpected pregnancy and he did not have insurance for it (they thought he was infertile due to past medical issues.)
I was supposed to pay him $10,000 upon completion of the work, well, his wife goes into labor and he's like I really need the money now, I have to pay the hospital bills.
Well I've known him for over 10 years, always did great work, so I pay.
For six months I don't hear from him. Turns out he's having major financial problems supporting his wife and three kids, all of his time is spent getting jobs for immediate income to just barely get by, so he hasn't had time to complete the work for me cause it's not going to bring in immediate cash since he already got paid.
After six months, he completes the work, but it's a rush job and it doesn't function right, so I'm having to redo most of the work myself. He has complained a lot about getting stiffed from people he does jobs for over the years, I think it's very common on both ends.
In the future I will use escrow. That way the programmer/contractor doesn't have to worry about getting stiffed and vice versus.