Turnover often happens after a project is finished - especially if another challenge isn't in the wings. Designers do a lot of things well, but most of them can't wait around and do nothing. Companies with continuous formal training programs will keep key players longer. High-tech staff will leave if they are not treated with respect. They leave when tools or the working environment is poor, or when management repeatedly changes its mind, can't make decisions or ignores staff requests.
Employees leave for other reasons, too.
They didn't get the office or project they wanted, or they think they're being picked on. I know designers who left jobs because they knew the product would never work and were too embarrassed to confront management. Some become prima donnas and will leave if they don't always get their way. Thankfully, they are in the minority. Some employees today have little corporate loyalty, so leaving is not as traumatic as it was 10 years ago.