I don't have a problem with it myself - it's simple to understand, and the company is giving you something of high value, and retaining your services for a minimum period in return.
I read all the docs carefully and I wasn't convinced by the course content so didn't take it. On the day the course was to begin, one manager pulled me to one side and said they really value me and would offer me a 8% raise—but I had to take it right now—he even had an amended contract and pen in his hand, open on the last page for me to sign then and there. I refused. I was seen as a bit of black sheep by management afterwards and sidelined.
Every dev that took it came to me over the course of the next few weeks and said they wished they hadn't taken it as they didn't learn anything they didn't already know and they felt like they'd been cheated. They could get out, but they'd owe the company something like £7,000 which gradually reduced each month over the course of the retainer.
It was a tactic to stem the flow on the revolving door that place had. The weird part is although technically and ethically it's by far the worst place I ever worked, I made so many friends there and the people were truly amazing.
Eight years later I'm still in frequent contact with several of them and we often reminisce and recall the crazy stuff that happened at that strange place on an almost daily basis. Looking back now it's almost comical, like something straight out of a Dilbert nightmare. But the stress at the time was immense.
Anyway, my point is that my response had made those assumptions, as that's the kind of arrangement I know is common.
I'm not sure this could work with normal raise-type compensation in the software world due to the difficulty of enforcing such a thing or clawing back money from people who leave early. The traditional way this was done was with pensions that ramp up with length of time at the company, but those are few and far between these days due to the overhead hit on financials.
Now I hear you, they cannot force you to stay in a company (slavery laws and such). Well, the way it was structured legally is that Nestle was loaning money to the individual for Nestle's course. Then the debt would disappear as long as you stay the right amount of time. Oh, and also it was mandatory to take the course for the role this guy was trying to transfer to.
Of course, the employee would study on the side while working the normal fulltime job and even get complains for missing 2 days for the tests.
If I recall correctly (but don't trust this paragraph so much), the training was internal but it was preparing for 2 external tests (once every 2 years).