"Database driven websites" is the key to the answer. There are two ways to create websites, and the amount of Javascript allowed depends on which one you're using, really. You can build:
Content-centric websites. In the first case, the magic words are "progressive enhancement"; limit javascript to redundant functions that can be supplied with classic accesss to content through plain HTTP.
Web applications. For applications, you're using the web as a software platform instead. Apps rely on some assumptions on the software available - modern browsers, latest versions of popular javascript libraries, desktop accesss with mouse and/or tablets with multi-touch.
The web as a software platform
###The web as a software platform### MinimumMinimum accesss requirements are OK if you're really building an application - you target some specific platform to gain advanced features that couldn't be built otherwise. It's just like developing for Python or Java or .Net. Don't let buzzwords like HTML5 and the promise of "run anywhere" fool you; you can have portable code between devices only as long as the whole platform is supported on those. Any change to the development stack, and the software will break.
Thus the price to pay is that you're following a moving target, as new versions of the platform are released; you'll have to play catch-up to keep your app working as the platform evolves. The only benefit you get is a semi-universal delivery mechanism for your app that doesn't depend on packages nor application stores; but you lose the main feature that differentiates the web from previous networked computer systems.
The web as content delivery
###The web as content delivery### ContentContent-centric websites are a different beast; they are in the tradition of the classic World Wide Web. Content is loosely interpreted by the client, which can made any desired transformation before presentation. The site is expected to be accessed by an ecosystem of different platforms that may or may not support the current standards:
- Mobile devices supporting less than the latest and most expensive bells and whistles
- Old browser users who can't (at the enterprise) or don't know (at home) how to update
- Future versions of popular engines that deprecate their old APIs
You'll lose them all if you require the current breed of javascript, which is always evolving. In this context, broken javascript that prevents accessing the content is a sin.
Everyone saying that "javascript usage should be minimized" is advocating this style. It's OK to include some JS, mind you, but all functions should be redundant with basic accesss to content that could be achieved server-side:
- Data entry validation
- AJAX updates of content for quickest navigation (that nevertheless works without JS)
The benefit to this approach is less testing and upgrading required, and more shelf-life. The first static webpages from 20 years ago are still browsable in any web client, but the first web applications are forever broken. If your site has any archiving value at all, you'll benefit in the long run from using the web as a content delivery system, not an application platform.