Проблема достаточно древняя и корни её уходят глубоко в JVM и OS, поэтому извините за неточности, возможные ошибки и "пробелы".
Начать, наверное, стоит с того, как работает Thread.sleep. Основная задача такого метода - поставить поток на "паузу", на некоторое время. Обычно, в момент вызова такого метода, JVM обращается к операционной системе, а именно, к такой штуке как thread scheduler. Как может быть понятно из названия, он заведует подобными манипуляциями с потоками. Но, для JVM так же важно вовремя пробудить поток, так как изначально в методе sleep был указан интервал. Что бы иметь такую возможность, JVM не всегда использует методы самой операционной системы. Так, JVM от Sun(Компания, которая разрабатывала Java до Oracle, думаю знаете), отправляла поток в специальный пул, который с некоторой периодичностью опрашивался на предмет пробуждения. Такой себе ивент. И, обычно, у каждой ОС был свой такой период вызова ивента. Для Linux - 1ms, для Windows - 10-15ms. Ну, и всё хорошо себе работало. До момента, когда в 2001 году(Это была Java 3) был обнаружен баг: Если выставлять в Thread.sleep слишком маленький интервал, системные часы Windows станут идти быстрее! Круто, да?)
Ну, баг пофиксили, методом перехвата установки интервала с ОС, на JVM, теперь она контролировала это дело и всегда устанавливала 1ms. И что бы вы думали? В 2006 году оказывается, что при фиксе первого бага, был допущен ещё один баг, в связи с которым, интервал практически никогда так и не устанавливался на 1мс. Случилось так потому, что код фикса был написан не в том dll и не учитывал некоторый интервал при работе с терминалом. Но, за всё это время(около 5 лет), разработчики не получили ни одного репорта, поэтому решили, что лучше не трогать, раз уж так работает. Но что делать, если кто-то разрабатывал программу(Судя по тому треду, Майнкрафт был одним из таких программ), которой очень важно было, что бы её потоки пробуждались строго в указанное время? К счастью, этот интервал можно было установить самому, с помощью некоторого хака. Более того, такой интервал можно было установить не per-thread, а per-program! В общем, как вы уже догадались, этим хаком и был код выше, суть которого была в том, что бы с помощью создания демона, который вечно спит, минимизировать этот самый интервал пробуждения. Таким образом, была достигнута максимальная точность, где требовались какие-либо операции со временем.