conceptually simple, perhaps, but in practice they are far from it. HTML, CSS, JS, and web server tools are complex because web pages are extremely parameterized over different content, client sizes and types, user preferences, and data. From being a long time web developer, the graphical layout tools are basically only useful for graphic design, because they output code that only works for the exact layout and content initially created, which is typically useless for anything but static content.
I think the difficulty of making tools for abstracting web content are related to the difficulties of creating more intuitive programming tools.