Two things. One, you don't always know the answer to a question until someone asks it, and then you can't un-hear the question. I thought I was just grouchy until asked, and then I realized I was properly unhappy in this role. Which I said makes me uncomfortable about asking hard questions of people I don't know and probably will never work with.
Two, it's easier to leave a place when you know you've left a project in good hands, instead of knowing things will unravel if you do. Mostly, it's an ethical problem if you sabotage the hiring.
But I'll agree that there is a tension between professionalism and social responsibility. What do I owe to my employer, what do I owe to the local developer community? The next time I interviewed, a guy I had a lot of respect for referred me to a used-car-salesman of a recruiter for a place he was leaving. I did contract-to-hire, walked away from that one. Felt a bit like a meat shield to cover his retreat. I realized all the things I respected him for were past tense, and honor that but stay the hell away from him now.