My understanding is that severance is usually terminated when the former employee accepts a new position; I am not sure how a former employer could prevent the former employee from accepting a position from a competitor without use of a non-compete.
Do you agree that NDAs are flawed in the ways I described?
The non-compete keeps someone from signing a position with a competitor. But in order for a non-compete to be legal, the company should have to pay the employees salary (or a significant fraction of the salary) for the duration of the non-compete contract.
Most severance I've witnessed was paid out in a lump sum. Severance that wasn't paid out in a lump sum generally did not end when the former employee accepted a new job. However, I have heard of some that does.
But that's irrelevant. The severance and non-compete contracts were two separate contracts, not linked in any way. The fact they had the same length wasn't a coincidence, but after they were signed it may as well have been.
And no, I don't agree that NDA's are flawed in the way you describe. If a former employee is willing to commit criminal fraud or theft then the choice of paper you make them sign isn't going to make any difference.