A friend of mine recently left a large company because the job he was doing was not the job that was in his job description. And no one had mentioned a possible discrepancy during the interview process.
He didn't leave without first discussing the situation with his supervisor, who told him that eventually, the job would develop into a match with the description. But the supervisor could not say when "eventually" would be.
Another friend was hired as a marketing/public relations professional when the company actually needed a graphic designer.
These discrepancies not only lead to disgruntled employees; the company also winds up short on the skills it needs. For example, in the marketing example, my friend had basic graphic design skills, but her real expertise lies in marketing. The longer she worked for the company, the more it became evident that her basic design skills were not enough to satisfy the job requirements.
You can avoid this problem by identifying company/department needs before you start the search for an employee. Perhaps your needs have changed since you created the position, and the job has morphed into something different.
During the current employee's exit interview, ask if the job responsibilities changed over time or if he or she expects the job to change in the future. When a person leaves a key position, it provides a prime opportunity to look at your current and future needs and revise the job description and even title.
And if you require different abilities, determine which are most important to the company. In today's specialized world, it is harder to find a jack of all trades. If you feel it is most important to have a person with marketing strategy skills in that position, then outsource your graphic design needs, for example.
And don't forget to advise the potential employee if you expect the job responsibilities to change, and accurately portray the current job responsibilities. You'll not only retain an employee, you'll make sure that employee has the skills you really need.