The whole industry is a mish mash of different systems depending on the individuals country and also the country in which you book.
Sometimes it is to do with what is included or not, their maybe regional discounts, regional inclusions, regional protections, etc.
Not me, but my point was that food is subjective and some places do some foods better than elsewhere. Like the Chinese food in Australia is better than in China.
I like business class, but I don't like paying for it. I would rather use the money on extending the trip or other trips.
As my wife says, by not paying for Business, it is like being paid $200 + per hour. Easier and cheaper to either book a lay-over or extra nights accommodation to allow for recovery.
I believe the cruise lines that charge in AUD onboard while cruising here is to be competitive with each other and definitely over the lines that don't.
As for why, Aussie TAs include the gratuities for domestic cruises, that is to do with our consumer laws where there shouldn't be mandatory add ons after an initial purchase price.
Businesses must display clear and accurate prices. They must not mislead consumers about their prices.
There are specific laws about how businesses must display their prices.
Businesses must display a total price that includes taxes, duties and all unavoidable or pre-selected extra fees.