jQuery sets itself apart by focusing heavily on DOM manipulation and traversal. Because it's central core is based around getting elements and doing things with them (show, hide, fadeIn, fadeOut, load contents from Ajax, etc.), virtually all plugins integrate into the library as though they were part of the core.
For instance, in jQuery you can do:
$("div.hidden-contents").addClass("shown").fadeIn("slow").load("some_url_for_ajax").
If you loaded in a (hypothetical) tree plugin, you could do:
$("div.tree").addClass("shown").load("url_with_tree_contents").tree().fadeIn("slow")
Pretty cool, huh?
In contrast, Prototype's raison d'�tre is to make JavaScript more like Ruby. MochiKit's is to make JavaScript more like Python, and so on.
jQuery takes the approach that JavaScript is a neat language that is used primarily for DOM scripting, but with a pitiful amount of built-in DOM functionality. It aims to fix that.
Hope that was helpful
