If you are making $10 million a year based on an employee's personal contribution to the company, and paying them $135,000, they are likely underpaid, and another company might gladly pay them $250,000 to add $10mm to their bottom line. But the non compete holds them in the job paying less. Their value to the company clearly allows them to pay $250k to that employee, but it's the non-compete that is allowing the company to profit an additional $120k. There's no case for non-compete beyond "excessive profit margins".
The short answer is "inevitable disclosure doctrine" that prevents you from working for a competitor if it's inevitable that you will disclose trade secrets. It's a sticky wicket for engineers.
However, this might be confusing different issues. My comment was specific to using NDAs/non-competes to protect trade secrets. This is different from merely using them to prevent poaching by competitors. In cases were there isn't inevitable disclosure, I think it's much less likely that a non-compete would be enforced in court.
I totally agree that if an employee adds $10M or $1M to the bottom line and you're paying him $100k, that's under compensation.
But there's a categorical difference between that situation and when an employee or dozens of employees who may be a break even or negative impact on profits have knowledge of a trade secret researched by a team of their predecessors that makes the company $100M.
I'm all about fair compensation and worker's rights, but a business shouldn't have to pay all those people $100M salaries.