A few years back, I was working on a project using Prototype and Scriptaculous. The customer was willing to allow changes (several) in our UI design, so we tried JQuery, YUI, and finally settled on ExtJS. On another large project, we used Dojo. And most recently, we convinced a large government client to switch (mid-stream) from Prototype to ExtJS.
YUI seemed like a dream at the time: nice widgets, clearly defined class hierarchy, good documentation, and quick to build an app. When Yahoo! released a new version that was not backward compatible, I never used YUI again.
I suggest Dojo is good for people who like JSPs. Controls are woven into HTML and processed by "the Dojo engine" on the client to create JavaScript widgets. Documentation was woeful (and often not available). An extension provided declarative AOP - really cool!
JQuery is great - wonderfully designed and fun to use. I still use JQuery "underneath" ExtJS.
However, I nominate ExtJS as king. This framework is art; a wonderfully thought-out class hierarchy, object-oriented design (sans abstraction), a rich set of low level utilities, cross-browser support, very nice documentation (available for download), incorporation of proven design patterns (e.g. Template, Observer), and a set of UI widgets that stack up to any. The characteristic I like most about ExtJS is it makes me a better UI designer. I am not a graphic artist, yet I can create very attractive web-apps (albeit not art), quickly and easily. If you use only one framework, use ExtJS.
But why use only one? See dateJS and flot.