First, we take the medicine
There is a performance epidemic in business culture, and it's called the self-serving bias. Simply put, self-serving bias is what you call "hearing/seeing only what you want to hear/see." It is any distortion or thought process that manipulates external reality to preserve self-esteem. And nowhere else is this more apparent than in employee retention and engagement. The reason your employees don't care as much or stay as long is...well, let me be blunt: it's not them, it's not that new job...it's you.
Maybe that is a tough pill to swallow. Even though all research has consistently indicated (for the past 30+ years) the number one reason employees quit is because of their direct manager, companies and managers continue to accept a different reason a resounding majority of the time. Most employees are not going to come right out and say I am quitting you. Of course not, they want to preserve your dignity and avoid a pissing match. It's the same reason you say things like "this is a business decision, it's not personal." Of course it is personal, you just fired someone because of their inability to do their job to your standards. And don't talk to me about layoffs, companies don't randomly lay people off, they select the lowest performers. It's personal, otherwise it would be random...and it's not. The same is true when someone quits. It's personal. They are quitting you.
Relationships end because someone isn't in love anymore
Think about it, have you ever broken up with someone you were still in love with and that still loved you? How often has that happened? I'm sure there are situations where moving away made sense but how often has a relationship ended when you were both still very much in love with each other and there were no special circumstances? My guess, is probably not very often. Usually, the person who ends the relationship at some level realizes, "Hey, this isn't working. I know we tried. It was fun (maybe) and I think it is time we part ways." This is a really polite way of saying, "I'm not in love with you anymore." When someone leaves it is usually because something was missing in the relationship.
If you're still having trouble with that whole self-serving bias thing, here are two ways an employee leaves and why it's probably you.
You get the standard two-weeks notice or less
If you have no idea someone is leaving until they give their two weeks notice or something equally short, they are quitting you. UNLESS there is a medical or family emergency that is causing them to leave immediately. If someone is moving to a new job and you didn't know about it before hand, you made some leadership mistakes. At some point, you did not create a safe environment for them to talk about their career and how they no longer felt their future aligned with the company.
If you get two weeks, maybe they still respect the company and perhaps even you a little. If you get less, well...let's just say you probably won't be getting any employment referrals from them and Glassdoor.com might get a new review for your talent acquistion team to talk around.
They don't leave the door open for a counter-offer
I'm not saying it is advisable to counter offer, or that they should accept. In fact, I would go so far as to say you should NOT counter-offer and if you do, they should NOT accept. I'm saying, they don't even leave the door open for that conversation to even happen. If you ask, "is there anything we/I could do to change your mind?" and they say "no, not really," they don't want to work for you any more...and no amount of money, title change, work arrangements are going to change that. They are leaving what can't be changed...you. And in the event you do counter offer and they do stay, two things just happened: 1) you used money as sole motivator which means now they are ONLY there for the reward (which is a slippery slope and unsustainable), and 2) you just taught people that to get a raise, they should threaten to quit. You really only delayed the inevitable and probably made the culture worse as a result.
People ACCEPT another job for many reasons, but the reasons they LEAVE are relatively few
People are generally nice and polite in an attempt to avoid conflict, and it is easy to get twisted around the axle when the causes are seemingly external. They will tell you all the reasons they accepted this new job (better pay, closer to home, bigger scope, better title, etc.) That is safe...that is business. But people aren't that rational (read "Predictably Irrational" by Dan Ariely or watch a brief TED talk on the topic) When it comes to making decisions, we can have all the facts we want and the majority of the time we still say we make a decision because "it feels right" even when the differences between two choices seems rather miniscule. There is an emotional component to decision making. So despite all the reasons someone may take another job that seem very unemotional and "business" focused, they are leaving because of how they feel.
Keeping your people
To keep your people, you have to answer that emotional aspect of employment. If you are a manager or leader who thinks that "it's not personal, it's business" you're likely ignoring a HUGE component of employee engagement. Employee engagement is not about how a person THINKS about where they work, it is about how they FEEL. That is VERY personal. This is where managers and leaders often separate. "Managing" is about the work, the process, the results, the metrics. Those are things you can manage. "Leading" is about the person, the vision, the inspiration, the trust. Those are what people choose to follow...and they are all emotional and all personal.
People need to feel appreciated, not just recognized. Recognition is about what someone does for you...an effort, something sporadic and specific. Appreciation is about who someone is - irrespective to what they do for you. If you are curious about how appreciation gets you further than recognition take a look at this inspiring talk by Mike Robbins. In it he mentions a Department of Labor study that found 64% of people left their job because they did not feel "appreciated or valued." More than money, opportunity, or recognition - people want to feel appreciated and valued for who they are, not just what they can do for you.
What to do next
Before you go hugging your people, be intentional. Take a few minutes to write a couple things that you appreciate about someone. It can relate to something they did but WHY were they able to do that so well. What qualities do you appreciate in them? If they weren't a part of your team, what would be missing? Why do their preferences, the way they think, the way they process information, the way they relate to others, why do those elements make your team better? Sit down for 10 minutes and tell them what you appreciate about them. Say "thank you" and then stop. Don't fill the end with something they can do better, that is a different conversation. Just appreciate them. You will be amazed at how powerful an intentional appreciation conversation can be.
If managers and leaders were more intentional about building relationships that focused on appreciating their team, surprise attrition would recede, people would stay longer (not everyone needs to or should stay indefinitely) and people would shake off mistakes faster, work harder, and be more engaged. My suggestion is if you treat people as though they have value beyond what they do, they will do more, and quite likely, stay longer.