I always surprise why all HR related matters are placed on HR table. Off course, it is the responsibility of HR to look into all HR related matters. But most of the times, HR is not responsible for all HR related issues. Employees work with their team and line manager for more than 8 hours. The real issues are with this. Most of the times their line managers are responsible for HR issues in the organization.
When I had grilled such employees, most of the times, the reasons which I find which nobody wanted to put officially are as under:
Relationship with bosses:
Generally speaking, when any employee leaves the organization, he assumes that he is going to get 4 more things in new company assuming that 10 things what he is getting here will also be available in new company. But when he joins there, he comes to know that yes he is getting 4 more things, but missing almost 4 another things which he was getting in his earlier company. 4 things, which can be more important in totality. That can be respect, culture, challenges, and even may be other benefits.
When line manger and off course HR will be able to gauge these factors, attrition can have little impact.