He/She asked about the bind method in JavaScript not jQuery, there's a big difference between the bind method in JavaScript and bind in jQuery. Far as jQuery the bind method is completely different and is used to bind (attach) a handler to an eventType for an element, like a click event or custom event handler that you can trigger later. The problem with bind in jQuery is that removing the element doesn't remove the bound event and this leads to memory leaks, especially when you're adding and removing dom elements. This is why on is the preferred choice due to event bubbling / delegation. If you set the event on a parent dom element, say an unordered list and it's going to check first what child element was clicked (list element), but the benefit is when removing child elements they don't stay bound to that event because the event is attached to the parent.
Far as JavaScript bind() goes, it's more so to do with "the context" and scope of the this keyword and functions, I'd suggest looking up apply() and call() as well, they're somewhat related to bind. Though bind works differently than apply and call as it creates a new function and sets the context but doesn't execute the new function, though you can add (), invocation, to immediately invoke bind but if that's the case you're better off using call or apply (if you need to pass in an array of arguments). In a nutshell bind will allow you to create a new function of a function and set its context to the function you copied but invoke it at a later time. Where as call and apply are used to change the context of this to something else when invoking a function.
bind in javascript is a method -- Function.prototype.bind . bind is a method. It is called on function prototype. This method creates a function whose body is similar to the function on which it is called but the 'this' refers to the first parameter passed to the bind method.