Ah, the bane of actual software engineers worldwide. JavaScript has, unfortunately, mutated into a quasi-compiled language, bringing with it its myriad flaws and inefficiencies.
There is utility in JavaScript, but it's become ridiculously overused, all in the name of aesthetics.
I only use JS where appropriate - for client-side scripting where server-side is inadequate or unavailable. JS is great for manipulating the DOM after the page has loaded. It's not so great for replicating what you can do far more efficiently on your server, using an actual programming language, like PHP or Perl.
It's overused when your site relies on JS just to load basic content. Find the happy medium!