jQuery is popular. It's used in half of all sites on the web. And I hate it.
It works, that's for sure. However, even a simple selector is 93% slower with jQuery. Speed isn't the issue either. There's a lot of things that slow the web down. Sure, I'd like all of my webpages to load perfectly, but that isn't going to happen.
The problem is that it's become more than a library. Some people actually mistake it for a full language (see the first revision of this question). There's no such thing as "coding" in jQuery. It's only slapping on plugin after plugin. Building websites in jQuery is like constructing spaceships in Spore: You take prerendered parts and put them together, with no respect for purpose or location. Sure, you don't need an advanced degree in astrophysics but you can't call yourself an astronaut either.
I'm spending thousands of dollars and years of my life to learn how to be a programmer. One who builds things and knows the system that they built. Relying on jQuery to build websites isn't real programming.
I'll leave you with this