$('.specific-ul li').on('click', function()){} находит элементы на момент инициализации, элементы, добавленные динамически, таким обработчиком обрабатываться не будут, в отличие от $(''.specific-ul').on('click', 'li', function()){}.
Первый, соответственно, быстрее.
$(document).on('click', ''.specific-ul li', function()){} или $('body').on('click', ''.specific-ul li', function()){}
$('body') не совсем корректно, если вы ищете в глобальной области. body может и не быть, а document - есть всегда.
Поэтому, если вам нужно делать выборку из всего документа, то лучше использовать document.