Вы проверяете (5,0 <5) или (5,0> 5). Поскольку (5.0 == 5), то это означает, что оно не меньше 5 (ложь) и не больше 5 (ложь). Таким образом, оба (5.0 <5) и (5.0> 5) вернут false, и вы всегда будете использовать оператор else.
Если вы сделали следующее (что вы и сделали во второй половине):
if (5.0 == 5)
System.out.println("5.0 is equal to 5");
else
System.out.println("else part always comes here");
Тогда вы больше не будете использовать оператор else (как вы видели во второй половине вашего вопроса).