Immutable - по этому не забывает создавать новые переменные. var amount = amount.add( thisAmount );
Нет максимального размера(ограничен памятью устройства).
Для вычислений с крайне высокими требованиями к точности.
Конструктор может принимать строку. Так как очень большие числа, java(примитивы) не сможет обработать.
Для сравнения чисел, рекомендуется использовать метод compareTo(). Equals допускает ошибки с округлением BigDecimal.