I disagree with the above answers. Out of many interviews with employees from different corporations and organizations, these are the reasons:
Lack of Leadership
1. Lack of leadership in the organization, where managers and directors lack any understanding of people's personality differences. They instead look only at productivity, revenues, systems, and policies. Therefore, the first reason is people leave because the managers are not trained as leaders. They treat workers like assets instead of understanding that talent needs respect, not bullying or intimidation. The managers or higher supervisors have no clue on how to build relationships with the employees. You have managers who shouldn't be managers. They cause friction, hurt employees, and sow the seeds of enmity and division.
Lack of Respect
2. The second reason is the lack of respect. Intimidating employees with outbursts of anger in front of everyone, or in close meetings, including threatening them about doing the job right or they get fired. When this happens often, it creates more stress in the environment. The seeds sown now are getting much stronger and can cause ill health. You'll find workers going off sick most of the time because they begin to hate coming to work to see these managers.
Lack of Morale
3. This causes the third issue - a lack of morale. Employees lose confidence in the company, its values which are in tatters, and the leadership. The work they once loved is now becoming work they don't enjoy due to the environment and how they are being dealt with.
Fear and Communication Barriers
4. Employees feel fear and might get blamed for some mistake. They cannot communicate with these managers or the directors, share their ideas, or disagree. All because of fear they'll be ridiculed, shouted at, and fired.
Unqualified Promotions
5. Promotions are given to those who are not qualified, who lack skills in the field. These managers lack people skills, qualifications, and specialized skills, for example, in programming and software development.
Micromanagement
6. Micromanaging - being controlling and not letting the employees focus on results. Instead, they keep them busy with paperwork, task sheets, and unnecessary meetings or discussions. This is what we call Psycho managers.
Negative Competition
7. The environment becomes competitive in a negative way. More people don't lead and think the only way to promotion is to suck up to managers and the boss. This is when you begin to lose more talented people, who can find a job anywhere. They have real specialized skills, experience, and, most importantly, strong values.
Notice I didn't mention anything about a pay rise? Why? Because these are emotional reasons that make employees sick, unhealthy, with low morale, no joy for work, and fearful. People do not act based on logic but because of emotions. Now we get to logic.
Unhealthy Boss Relationships
8. Relationship with the boss is not healthy.
Poor Organizational Culture
9. Overall organizational culture stinks.
Lack of Opportunities
10. Lack of opportunities for promotion and a pay rise.
Weak HR Leadership
11. Lack of leadership within Human Resources who do not stand up for the employees. Instead, they keep quiet and only help managers and higher-ups.
Lack of Recognition
12. Lack of recognition. The boss or managers recognize managers but do not acknowledge or show appreciation to the team that helped the manager. This is manipulative, deceiving, and a tactic that will backfire.
These are the reasons why the MOST talented employees leave companies, even if the pay is high. They cannot take any more of the insult and the feeling of working in such an unhealthy environment and organizational culture.