Das Hauptproblem ist, das man mit einer endlichen Anzahl von Bits nicht eine unendliche Genauigkeit hinbekommt. Bestimmte Zahlen können einfach nicht als Kombination von 32 oder 64 Bit dargestellt werden.
Deshalb wenn es auf Genauigkeit ankommt immer BigDecimal verwenden.