In some cases an employee might be able to build up a base of loyal customers more easily with a larger firm than they could alone, leave and take much of that business with them, and enjoy the continued productivity with much higher margins. The resources of the larger firm then become a stepping stone to the loss of their own business.
I know of one case (in which I am actually mostly sympathetic to the individual bound by the non-compete) in which that's actually exactly what happened.
There's an actual cost the company is trying to avoid though, and that actual cost will have to go somewhere eventually. Either it will actually result in companies having higher overhead to maintain their business, or the employees who used to have non-competes having to pay for some of the firm's business generation one way or another.
Reminder that the question was "what are good reasons...", which suggests that not everyone knows why the company wants them, unless you assume all companies are inherently evil which is not reasonable. They invest in their brand. Employees get the benefit of that to help establish their own brand. And then they can take that brand elsewhere to the detriment of the original investor.
I'm not sure they're ever good in an absolute sense. I do think that individuals above a certain level can reach mutually beneficial agreements with potential employers when they sign an employment contract if it contains provisions for significant garden leave and the like. I'd mostly like to see minimum requirements embedded in law if non-competes aren't largely unenforceable (which is fine by me too).
I know of one case (in which I am actually mostly sympathetic to the individual bound by the non-compete) in which that's actually exactly what happened.