If you think carefully about the various factors that cause an employee to leave their current employer, it is quite easy to see that you two categories: push factors and pull factors.
Pull factors are those reasons that attract the person to a new place of work. So in this category we would have the likes of a better paying job, a career advancement opportunity that they wouldn't have got in the short term had they stayed with their present employer, and so on.
Push factors are aspects that drive the employee towards the exit door. They make the person want to leave, make them start thinking about other options, about talking to recruiters, looking at the job ads in the paper, on the internet etc. In some instances employees will even go so far as to leave without a new job lined-up.
You just have to accept that pull factors are going to exist. From time to time competitors will make offers to some of your employees that you simply cannot match. Job opportunities will arise that are so attractive that the employee is almost certain to leave.
But what you can do is minimise those push factors. To download a short white paper on 10 reasons employees leave, simply click on the link and wait a few seconds.