There is no task in software engineering today quite as herculean as web development. A typical specification for a web application might read:
The app must work across a wide variety of browsers. It must run animations at 60 fps. It must be immediately responsive to touch. It must conform to a specific set of design principles and specs. It must work on just about every screen size imaginable, from TVs and 30-inch monitors to mobile phones and watch faces. It must be well-engineered and maintainable in the long term.
With the latest web technologies, this list grows: the web application must work offline. It must be able to send push notifications. It must sync in the background.