I have worked with many javascript libraries, and many are worthy to be remembered.
The Prototype Javascript Framework:
This is one of the oldest framework existed on the web. In the earlier versions, the framework provided simple tools for manipulating the DOM tree. Things like element.addClassName, element.addMethods etc.
These simple DOM manipulations may seem simple and easy now due to the new browser supports for DOM object when an html is loaded. Please do not quote me on this, but is very likely that prototype was the driving force for browsers to evolve into what we have today.
Good To Use When: for ANY web applications or website
Bad To Use When: Only when using other libraries that are doing the samething
The Script.aculo.us framework:
The famous scriptaculous framework, if you are a front end developer and you haven't heard of this framework, then there is something wrong.
This framework is famous for its visual effect capabilities. It gives the developer easy access to do desktop like effects on a browser. Things like dragging a box on the browser and put it somewhere else, animations for certain elements on the page, etc.
This revolutionized people's interpretation of websites. Remember the good old days where websites are viewed as static no fun books online? That is where the name webpages came from. Because people see them as pages, not a panel.
With animated effects on the htmls the concept of interactive web portals and panels were born.
With these fancy html manipulations with javascript, the concept of AJAX began to flow around in the web.
Good To Use When: for ANY web applications or website
Bad To Use When: Only when using other libraries that are doing the samething
Dojo is one of the bigger and newer packages in javascript libraries. But despite is gigantic size for hard drive space (about 20mb) Dojo is fast and robust platform to build incredible web app front ends on.
Dojo has almost everything a developer would ever need for developing web applications. From DOM manipulation to AJAX calls, from simple visual effects to sophisticated animations. Dojo has it all.
Due to its robust system structure, it requires some setup to use any functions, but the Dojo API provides great reference on anything you need to use. So using it is just as simple as prototype and scriptaculous.
Good To Use When: for decent sized sophisticated web applications where there are alot of features required. With large development teams. Its a way to standardize development processes.
Bad To Use When: On a simple website, on an application where you are NOT using the dojo alot, simply said anything that is not complicated. (violation of the very base of agile development, the simplest thing that works)
This well-known javascript framework is a wrapper for the long javascript syntax. It wraps most javascript calls to enable simpler syntax.
It also provides utilities to manipulate the DOM and do AJAX calls more easily.
Is also light weight like Prototype and Scriptaculous.
Good To Use When: for web apps that requires alot of DOM manipulations, changes often, large development teams.
Bad To Use When: Be cautious when using other libraries that uses the $ accessor.
There are many more javascript libraries out there on the web, but from my own experience, these frameworks are MORE than enough for any web development.
In fact, try using only one type of framework for any specific project, this way the code is more consistent throughout the whole code base. (This is very important as the development team grows, for more details please refer to How To Manage a Software Project)