* Stupid API.
* Stupid API changes.
* Stupid API documentation.
* Plugins are minefield.
The recent standardization of event handler attachments (see `.on`) is a lot saner than it used to be, but I believe it is still not there where it should be. (I don't know that place, otherwise I'd have written my own library.)However, the jQuery ecosystem is hard to leave because
* Monopoly in terms of plugins,
* Already cached everywhere (from Google CDN),
* Solves all cross-platform issues.
There are a few other bits like the culture of short commands because of chained functions, but I personally find that a very minor detail.I also happen to like the author's ongoing experiments with performance improvements.
Check out http://jqueryvsmootools.com
What that basically means is that jQuery makes working with the DOM tolerable and MooTools makes working with JavaScript tolerable. I, personally, have issues with the DOM but no issues with JavaScript, so I opt for jQuery.
In my experience, much more support, plugins, and it's been battle tested pretty well.