Kathi/Brian, I was once hired as a SQL Developer by a company that turned out to be held hostage by an Oracle DBA/SQL Developer. He would not share any information with me, despite my having been hired to do very targeted performance tuning of the application the company was trying to sell. This guy was all about being indispensable. He modified code in production on customer's systems, wouldn't use change control, and wouldn't explain anything to anyone. That job, the lack of an Oracle SQL Community and the amazing Microsoft SQL Community are the major reasons why I switched to the Microsoft Data Platform and haven't looked at Oracle in a dozen years.
Rod, I have had only one exit interview in my nearly 50 year career that involved anyone technical. All the others were purely HR and they had no interest in any management or process issues I raised, they really just wanted a single sentence about why I was leaving (more money, more advancement potential, etc.).
Brian/bdcoder, I have also found that no one either wants or is given the time to create decent documentation anymore. Almost no code comments, minimal check-in comments (e.g. "fixed issue #1234"), nothing but end-user documentation. Code reviews, if done at all, are not of any depth. What is the overall purpose of each SQL statement in this 4000 line stored procedure? No one knows but the guy that wrote it and left the project years ago. Agile never meant "don't document", it meant "document what's necessary as you go", but that's a nuance that got lost somewhere.
Turnover in IT is high in general and even worse in many outsourcing firms, especially those outside the US and Western Europe. Any company, but especially those using contract developers or firms, need to insist on good documentation as a matter of business continuity. If you don't have time to document it, you sure won't have time to reverse engineer it when you need to add a feature, improve performance, or move to a new technology.