Same question here -- I take it this makes more sense for investment accounts and atypical currencies, but I don't see how it makes sense for (e.g.) USD when asserting conformance to a bank account statement. Further nonintuitive behavior is that if you enter a balance assertion at a whole number and don't add any decimal places, it is automatically set to zero tolerance, that is:
2021-01-01 * "Initial transaction"
Assets:Cash 0.49 USD
Income:Other
2021-01-02 balance Assets:Cash 0.50 USD ; passes
2021-01-02 * "second transaction"
Assets:Cash 0.50 USD
Income:Other
2021-01-03 balance Assets:Cash 1 USD ; fails
I think I will probably be inputting/importing my future bank statement balance assertions with explicit zero tolerance (0.50~0 USD).