What happened was that web companies gravitated towards using more and more off-the-shelf "solutions", instead of hiring engineers that built what they need more or less from the ground up.<p>Most companies would call this "reinventing the wheel", but in reality it was just lazy engineering that transformed the role into something that is more like a manager/product owner that can also code.<p>Creating a framework for the specific domain/solution is really the best option. It's avoided only because the web app industry is dominated by business and marketing think, which has pushed engineers to glue existing software together, which has created demand for general tools and frameworks. On the one hand, we can create websites incredibly quickly but on the other hand it is built on top of a giant tower of libraries and questionable abstractions that most of the time are overfitting the problem.