The way I see it, there's a big difference between making fancy websites and making fancy web applications. Making a fancy website, presenting information to a user and maybe collecting a bit of data along the way, you're unlikely to collide with the frustrations outlined in the article. jQuery is more than adequate for the majority of things.
Making a desktop-style web application, however (such as his examples), is a whole different kettle of fish. Once you're dealing with state that exists outside of the DOM, you're going to be struggling to keep up without some variety of model/view concept to rely on.
They're really two separate domains. One was born in the world of desktop applications, the other was born in static HTML.