In all the cases I know of, and that ain't too many, but a few), they are non-enforceable. At least the "no compete" part. The reasoning is that you have a skill in the field in which you are working and therefore if restricted to not staying in that field, your livelihood is hindered.
I don't have stats, but I believe we are generally effective with non-compete clauses (either in or out of court).
The issue is not the underlying skill (which is readily transferrable to almost any software/hardware development environment) but the specialized knowledge, whether it be technological or strategic. So our non-compete doesn't say anything about a developer going to a company that - say - produces accounting software (which we don't). But to one of our competitors (and there aren't very many) - that would be a different matter. I don't think the courts would consider it a major hindrance to one's livelihood if after working in one vertical market they were forced to move to another. (At least, for a fixed period of time).
Then again, "this is not intended to be construed as legal advice. If you are seeking such, you should consult a competent and qualified legal professional."