I can give you more details on this, because I used to take a lot of these cruises in the 2010s.
The "free cruises" are a marketing partnership. The casino does not pay the cruise line, and the cruise line does not pay the casino. It's basically a way to get the land casino's losing gamblers onboard, where it's assumed a fair number of them will shoot off in the onboard casino.
There is no play requirement onboard. You can completely stay out of the casino, and nobody will care, nor will it affect your status or comps on land.
The "port fees" thing is a semi-scam. The land casino tells you that you're responsible for "port charges, fees, and taxes", and you assume it's just charges the cruise line has to pay at the ports which are passed onto the customer.
In reality, the port fees and taxes are fairly minimal, but the cruise line tacks on a $200 or so (per person) "admin fee", just because they can. So the cruise is never free. It's actually $200 plus port charges & taxes. Still a great deal, but not free.
You are also expected to pay a $15 or so per person per day "gratuity" which is automatically added to your account. These tend to be difficult to opt out of. In fact, some lines like NCL make you do it by mail when you're back home. These aren't real gratuities, and in fact are pocketed by the cruise line. Another industry semi-scam.
Cruising requires a lot of expertise and experience regarding how to get value, not waste money, and get the most out of your experience. Chrissy is a moron and a fake rich guy, so no doubt he will fuck it all up, AAAAAAAAND lose his ass in the onboard casino.