We are not trying to have cheap labor. We are trying to have more labor. However, the experienced people are limited resource, so the next step is to find inexperienced ones and train them.
However, that doesn't work that way so easily. If you train someone for 6-12 months (during that time the trainee not only isn't making you any money, but other people, who otherwise would, are not either), you are investing into these people. If they leave before you break even, you are at loss. If you would pay them market rate as soon as they finish training, you would never break even.
That's why some companies insist on contract, that the trainee will stay with the company for specified time, if they take the training.