I agree and sign it, but it's not legally enforceable. As per the above response, you have a skill-set or qualifications and they can't stop you from going to a competitor to use that skill-set. It would be like trying to deny your right to work. (You would however likely to be bound to confidentiality ie not able to use specific details/information from the previous company.)
It's a bit like signing a contract for a gym membership - they will typically include a clause saying that you agree not to hold them liable for any injury you might sustain at the gym but the fact is if they were negligent in some way they are liable - I think this comes under common law.