It is simple because if you let her go and try to hire a replacement. You might end up with someon worse her. Hiring people is a very expensive process. After all, all she does is just whining
But when time is bad, you can do as you like since many ppl are looking for a job and you might get a better one easily.
Right now, the job market for progmmers is pretty good. If she is a programmer, suck it up.