Using `compareTo` allows comparison based on numeric value alone, ignoring scale, which is often required in financial applications. For example, `BigDecimal.valueOf(1).compareTo(BigDecimal.valueOf(1.00))` returns 0, treating them as equal, while `equals` would not.
Additional Notes
How to ensure financial BigDecimal values are compared as equal?