Проблема в том, что компьютеры любят числа, основанные на базе 2, а не на базе 10, как мы.
4.4 - это бесконечная дробь (например, 0,333333333 ... для нас) в двоичном формате, и числа с плавающей запятой имеют меньше цифр, чем двойные, поэтому в 4.4f меньше цифр, чем в 4.4, что делает их разными.
4.5 не является бесконечной дробью.
Примечание: всякий раз, когда вам нужно сравнить числа с плавающей точкой или двойные, вы всегда должны проверять размер разницы, а не просто проверять равенство.