The main argument for non-competes comes from banking/professional services (thinks accountants or lawyers). It's to stop you taking all your clients with you when you jump ship. It's typically only enforced for partners or really senior managers and the theory is, it allows the company time to cement their relationship with the client while you're out of the market.
I have often seen it enforced as, you can go (after your notice period/gardening leave) but you have to stay away from a set of clients for the period of your non-compete.