would rather they leave if they want to than keep guys who end up being bitter and angry, thereby only poisoning the work environment
In a perfect world, this statement is the correct one. But companies spend human and material resources and they need to see something back without going into "exploitation". I know it's a boundary on shifting sands, but there have to be "rights and obligations" from both parties. The problem here is the human factor. People don't stick to it and in most cases, if not all, it's management's fault.