There is plenty of muscle behind trade secret misappropriation laws and other intellectual property laws that someone jumping ship from company A to company B in order to share company A's trade secrets isn't going to get very far. I have been involved in a few trade secret misappropriation lawsuits and the non-compete claim ends up being a side show as the trade secret misappropriation claim allows for punitive damages and a breach of contract claim does not.
That leaves some very flimsy justifications for non-competes. One is that some trade secret info ends up being inextricably intertwined with the employee's training and on the job experience. So, the only way to resolve that is to have the employee sit out for a period of time. But then you get into jobs where there really are no trade secrets and the justification for the non-compete is just BS about training, etc.
What non-competes have really been doing is stifling competition in the labor market by keeping employees from being able to entertain competing offers of employment in order to be able to negotiate with their current employer over salary, benefits, etc. Employees won't look for better offers and employers won't try to recruit people who are already employed if there is an issue with a noncompete.
And with the exception of a small number of highly compensated employees, most employees do not have the resources to be able to defend a lawsuit over a non-compete and get their butts kicked in court or end up with six figure attorney's fees bills.