Formatter и Checker подходят к решению похожей задачи по разному. Я думаю что все мы согласимся с тем что "Чисто не там, где убирают, а там, где не сорят".
Formatter - убирает, т.е. делает чисто в вашем коде
Checker - не убирает, он просто говорит - "здесь грязно". А ты как хочешь так и убирай. Конечно, это проще с помощью Formatter'a, и их достаточно много.
В чем же тогда прелесть тулы которая даже не убирает?

Она "воспитывает" не сорить, через месяца два все в команде начинают писать по принятому соглашению, а не "как бог на душу положит". Что потом очень приятно и читать и править.
Под Checker понимаю тулу которая ходит по исходикам и репортит о не соответствии кода принятому стилю написания(гайдлайнам).