There's a huge amount wrong with Jenkins. My major gripe is that the world today has moved very much to "convention over configuration", also known as "usability". But Jenkins is firmly stuck behind. It's not wrong to say that nothing works out of the box, and you have to configure every little thing. CircleCI customers have told me they've literally spent 2 days configuring a jenkins box to even get it working, and are glad to be rid of it.
One example of jenkins' backwardness is a post from the Jenkins lead last week: https://news.ycombinator.com/item?id=6434194. Actual quote: "The literate plugin adds an Action to all Free-style projects that allows exporting these XML configuration snippets in a .zip file for unpacking into your project's source control."
I don't mean to hate on this, just jenkins. This design is a real improvement, one that Jenkins has been unable to do in the entire 10 years it's been in existence.
[disclaimer: obviously I have a massive massive bias against jenkins, as part of CircleCIs mission is vanquish it and its awful usability]