slf4j - только фрондэнд, в качестве бекэнда можно брать java.logging, log4j, logback либо commons-logging.
Плюсы java.logging - есть в jdk и не надо тянуть зависимости, но у него ряд ограничений. (ЕМНИП, не умеет file rotation и ещё что-то).
Автор и основной разработчик log4j пилит logback, поэтому можно считать, что последний является наследником первого.
Много софта обычно завязано на log4j и commons-logging.
P.S.: используй slf4j плюс какой-нибудь бекэнд (logback к примеру).
В принципе, разницы большой нет, все умеют вести логи, различие в деталях.