Coming off working on a large Backbone app, I've seen how bloated, needlessly repeated, and painstakingly verbose things can get. Angular solves a lot of the problems I have with Backbone by taking care of basic plumbing for me so I can focus on the unique parts of my app. It's magical, but that's what I want in a framework: less pounding out boilerplate and more writing application code.
The article links to another page where the author rants about why Angular sucks; the second paragraph already indicates the author is trying to do direct DOM manipulation, which is exactly what Angular tries to prevent you from doing. It's an abstraction layer (amongst other things).
tl;dr I wonder if the author ever worked on a production-sized single page application.
I find it quite easy to add a small feature to the existing angular app. And it's modular so the app's complexity isn't snowballing. And the new feature is covered by unit tests. Could you say the same for a jQuery app? If "yes", did it need heroic measures? This just falls out of the default angular app template. For the first time I feel that the client-side approaches the engineering rigour that we have on the server.
It's the opposite of the "spaghetti nightmare" mentioned. I'm sure you can tie yourself in knots of code with angular, but you can also avoid it.
Before choosing a tool / language, I check if the task is to (metaphorically) cut a single tree or an entire patch of trees. If the answer is former, I choose an axe (a simpler tool), else I stick with the chainsaw no matter how difficult it gets, as it will pay in the long run.