With time, we learn what is good code and what is not. Since Node.js, we have developed promises to something real. jQuery rejects to become Promises/A+ compliant - they say they can break the web when changing its behavior (why do they develop 2.x?) With Node.js and a bit React.js we have understood globals and treat them now a bad thing - hey Browserify users, globals are a BAD thing! :-) Web performance matters and yet jQuery rejects to be a modular library like lodash is. This is a problem. Some people use jQuery just for selecting elements in the DOM or doing Ajax but nothing more what jQuery has to over. 84kb for selecting elements and/or Ajax is anything but smart. jQuery does not help to structure code. Spaghetti and jQuery is a de facto unbreakable word combination.
The so often mentioned browser compatibility is a legend from the past. Why should Chrome and Firefox load jQuery to fix looping behavior when only old IE needs to be fixed? We have shims and polyfills, applied selectively if requested. Nginx can parse HTTP headers and rewrite URLs to load shims for the correct browser only.
For me, jQuery was great back in the times when IE6-8 has terrorized us and Firefox as well as Chrome interpreted JS differently, compared to each other. But things have changed fortunately and I can't find any reason why we have to keep this dinosaur alive.