To summarize your argument, you're saying that in practice NDAs are meaningless as a term of your employment contract, so adding an even more onerous and one-sided term, the non-compete is advisable? Contracts are only as good as their enforcement and the honor of those involved in the agreement. If an employee leaves and spreads your trade secrets to your competitor, then you sue them and the competitor, the same as if your competitor hires that employee in violation of a non-compete. The difference here is the NDA is specific, a non-compete is broad. The NDA says not to share your secrets while working at a competitor, the non-compete prevents you from working for the competitor entirely.
Since the secrets aren't yours to share at will, they belong to the company, there's nothing that restricts your freedoms in an NDA. It's more of a covenant than a restriction. You're making a legally enforceable promise to not spread about things you know full well are supposed to be confidential. A non-compete however restricts your freedom of movement in the labor market and directly provides a tool for the employer to coerce your actions in and outside of work. There's a huge difference in consequences and incentives, while the NDA provides sufficient protection for the things that matter in your scenario.