Careerealism.com lists the major reasons people leave their jobs. Of course there ar enumerous reaons why people leave. This article focuses more on the managers point of view. At the end of the day what it boils down to is poor leadership or management. A quality leader can go a long ways in retaining employees.
I have seen managers/supervisors blame staff not being able to handle the job. The real problem was bad leadership. In fact that case was lack of leadership and a bad company culture. There a a double standard so to speak on the culture. The tell you one thing but in reality it was completely different. For this particular company I was a boomerang employee. I worked there for a year and half the first time and came back later a few years later. Now man py of the people I once worked with had moved on but many of the supervisors were still ther. The second time I was there I only stayed for a month. I addressed the concerns about coming back and they claimed to address those problems and was not longer an issue. Much to my dismay nothing has changed mostly the people that worked ther.
Beyond that staff recognition is another big key whether it be acknowledge meant of an employees work financially, through a promotion or credit. Staff like to know they can be rewarded or acknowledged for their efforts. They also like to know they will not be in the same position for their whole career. If people “stuck” they will not be in the same position or passed over for some kind of recognition.