Cash requires hardware to store in the till, hardware to store your float overnight, staff time in reconciliation, staff time to take to the bank and maybe on top of that bank fees.
It’s not free for the business either. Businesses doing cash discounts are quite likely not reporting all of their sales IMHO, so it’s better for them because they can dodge taxes.