You don't need all these extra features for a website. However, they are useful and needed for many web apps. Just because websites sometimes abuse these features doesn't make them bad.
A site should label itself as either a "plain site" or a "web app". "Sites" may only use a limited subset and amount of javascript (perhaps none?!). Browsers, search engines, and plugins can treat plain sites and web apps differently.
I too dislike the fact that web developers have the freedom to make design decisions with which I disagree.