Сколько бы примеров и полей с датами на Java я не видел, всегда (или почти всегда) используют класс Date. При этом, я думаю, всем известно, что класс Date сам по себе плохой: он не потокобезопасен и представляет собой не то, что указано в его названии (мы получаем дата-время вместо даты). В это же время классы LocalDate, LocalDateTime и LocalTime полностью покрывают эти недостатки и вообще более удобны в использовании. Возникает вопрос, почему тогда все еще люди (и не абы какие, а даже в некоторых оф. документациях так) используют класс Date?
Class Date
...
Since:
JDK1.0
vs
Class LocalDate
...
Since:
1.8
Ну это основная причина, т.е. куча кода написана используя java.util.Date и не будет никогда переписана. До появления в 8 версии java.time также во всю использовалась библиотека Joda-Time. Дело привычки и истории. На данный момент, естественно если есть выбор и нет необходимости поддерживать legacy-код, лучше использовать LocalDate, LocalTime и т.д.