Frameworks are a common understanding that people can plug and play into. And yes, that's a critical part of maintainable code, the ability for a person to quickly get up to speed and fix things.
as the functionality of the app progresses beyond a certain complexity (admittedly, this is nebulously defined), increasing changes to complexity require more time to effect.
beyond a certain point of functionality, the need for a a framework to manage these things becomes emergent. at that point, a single coder can resume making more complex changes with the aide of the framework, than she could do without it.
you're not wrong, you just are not considering a big enough scope over which to evaluate what the manual manipulation of software primitives is worth.
in the end, frameworks aide results beyond the ability of a single coder to implement on their own.
I don't think you can judge if the DOM api sucks if you are using a "simple demo app" as your baseline, though.