Числовые значения с плавающей точкой не точны, они приблизительны.Поэтому, когда вы вводите литеральное значение 13,90, фактическое значение остается не совсем 13,90, а как можно ближе к нему.
Значения BigDecimal являются точными, а строки - просто строками.
Поэтому, когда вы используете новый BigDecimal (13.90) и новый BigDecimal ("13.9"), первый содержит значение, которое является точно переданным ему значением с плавающей точкой, которое очень близко, но отличается от 13.9.А второй содержит ровно 13,9.
Один из них - 13,9, а другой близок, но не равен 13,9.Таким образом, два объекта не равны.