I believe as a rule you should use JavaScript frameworks to sidestep cross-browser compatibility issues. Other examples are:
How you choose which framework depends on what you are looking for e.g. cool widget effects, ease of coding given the different APIs, cute user interfaces, page optimization i.e. small framework size and so forth. In some cases you can also combine frameworks on the same website/webapp to get the best of both worlds. This should help: http://en.wikipedia.org/wiki/Comparison_of_JavaScript_frameworks