It can also be extremely wasteful - if I leave a tab open for hours or days, you'll have to waste your resources and mine to keep pushing me stuff I won't see, while now I just hit refresh when I want to see new content.
In terms of usability, it's often jarring to watch content change when you're interacting with it - that's why even sites that implement real time notifications often have a link or button that you have to press to update the UI. In many cases, doing that completely negates the benefits of pushing.
Also, see the thesis on "Architectural Styles and the Design of Network-based Software Architectures": http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
Polling is a good default for the web; it fits most use cases (content that rarely changes) in a simple and economical way. WebSockets are useful for the exceptions.
Web applications are a very small part of the web as a whole.
you can implement polling with interrupts
But why would you?
Are you aware that the OS is using an interrupt-driven system to poll the server?
Yes. So? In that case, interrupts are a great fit. In others, they aren't.
This is just dumb engineering.
Why?
And to say that it's good for "most things" is just lazy thinking.
It's not good: it's better for most things. There's nothing lazy about evaluating the options and choosing one.
"Most things" are that way precisely because of the crappy architecture. Rationalisations.
Sure, everyone who implemented this shit is dumb and lazy. It couldn't be that they have good reasons for doing what they did.
I see you criticized me for not providing technical points, yet now you refuse refute them. I don't see the point of this conversation anymore.