Short answer: continually give them advancement opportunities.
Now the long answer. The reality is that you won't be able to retain all the good talented staff that walk through your door. That's a given. For some reason they won't blend well into the organization or they will a short attention span and hop jobs (let's face it, it's not where employees stick around for 30 years anymore). I guess I can say I'm somewhat unique in that I've stayed at my first company post graduation for over 5 years without leaving, though I've had opportunities to advance. It is those opportunities to do more with my career that has been the key factor to stay longer and will be for employees your organization.
For many, staying at a company is a balance between "real" benefits and intrinsic benefits (job satisfaction, healthy work environment, knowledge expansion). Sure access to the health club is nice, but if I can leave work knowing that I made a difference, improved my work product, and can be recognized for it, I'm happy. That's what keeps me coming back in the morning and not dreading my job come Sunday evening when the thought of "having to go back to work tomorrow" pops in your head.
I hope employers feel that advancement doesn't always mean more money or a promotion. Advancement could include allowing an employee to:
- improve a skill-set
- have the ability to teach the organization a new way of doing business they have researched
- the ability to provide continual feedback to the organization
Employers should also look to:
- present new challenges to employees where their diverse skill-set can solve
- provide clear career path options (nothing is worse than coming to an organization and find there is no-where to go within the organization)
Eventually you will always tap out on what you can do for an employee, but as long as they feel that they can continue to contribute and be rewarded in some way, they will stay. So when was the last time you sat down with your employees and asked them how satisfied they are in their jobs? What can you do to make it better? Maybe you should.