I have found four variations of this so far.
Well, no. Two of those are the DOM, not jQuery. There is no addEventListener or onclick on jQuery instances. They're on DOM elements.
So why does jQuery have both on and click? Maybe the documentation can tell us:
click
This method is a shortcut for .on( "click", handler )
It's just a shortcut, seven characters instead of 11 (13 originally, see below), for when the event name is known at coding time (rather than runtime, when we might pass a variable into on). (There's also another form of click: If you call it without arguments, it triggers the event rather than hooking up a handler.)
You forgot bind, which is an earlier version of on. on was added in v1.7 to combine the functionality of bind, delegate, and live. Retrofitting bind would have required breaking changes, and the word bind was increasingly coming to mean something else entirely. So they went with on, since the DOM uses the "on" prefix (onclick, onmousemove, onfocus, ...), both in DOM element properties you can assign functions to, and as attributes you can put code in in the markup.
jQuery also has one, which is similar to on but automatically removes the handler on first use.
Bottom line: All APIs evolve over time.