Javascript isn't required but it does help your page/website stand out with animations etc. But even those can be done with transforms and SVG's. Then after that its about tracking and functional stuff etc.
I agree that a lot of developers sacrifice the actual impact on the users computer, or at the very least it is not considered as much as it should be.
Having a JS website and a non-JS website would be interesting from a caching and offline perspective though, as well as a preparing the page type deal where you include only the fundamental components/resources first, then introduce the heavier stuff after.
I also feel that relying on explicit full page reloads to clean up the memory footprint is an extremely bad practise. In my opinion is suggests being lazy and expecting stuff to just work. Proper/graceful shutdowns/teardowns are best practise in my opinion. I think the following example illustrates my point quite well;
You're a software engineer and you have had a big day and you're desk is covered in energy drink cans and coffee mugs - a complete mess. Now you can do one of two things; either clean it up, so you know you have a clean environment to work in tomorrow, Or let the cleaners sort it out. BUT there's always a chance that not all the mess gets cleaned up by a 3rd party. Always do what you can yourself.