Yes, companies spend money on social events to make the employees feel good about the company.
But they won't spend any significant amount of money to keep valued employees, which of course makes said employees look elsewhere.
As an employee you are nearly always better off switching jobs every 18 months, as staying in the same job loses you money.
I wish companies would be more focused on this.