live отметаем сразу, т.к. он уже не только
deprecated, но и
deleted. С
bind и
click все интереснее - внутри (в коде jquery) они ссылаются на
on, и
возможно даже будут удалены в будущем. Отличие функциональности
click в том, что он может возвращать уже привязанное событие (аналогично
trigger), если оное уже есть. Например, объявление
click выглядит как-то так (не скажу за все версии):
function (data, fn) {
return arguments.length > 0 ? this.on(name, null, data, fn) : this.trigger(name);
}
Также
click не может делегировать события, т.е. вы не сможете сделать так, чтобы событие было актуально не только для всех элементов
a, которые уже есть, но и для тех, что сгенерируются любым способом в будущем (собственно, это позволяют
live и
on, первый из которых имеет статус
deleted и недопустим к использованию).
В целом, использование таких оберток может даже привести к очень незначительному, но все же снижению производительности за счет во многих случаях лишнего вызова дополнительной функции. Поэтому, лично я рекомендовал бы не использовать
bind, а выбор между
click (и другими "событийными обертками") и
on делать на основании приведенного выше участка кода и нужной вам функциональности (еще раз напомню, что
click и тп. не позволяют отслеживать появление новых элементов на странице).
Как-то так. Прошу извинить если немного напутал терминологию.
UPD.
live технически также ссылался на
on, но, хотя в отличие от
bind и прочих позволял отслеживать появление новых элементов, имел много недостатков -
тут можно много интересного прочесть. Возможно, поэтому его и удалили.