I'm no accountant and am not a part of the hospitality industry but fro what ive gleaned over many years staying at chain hotels:
1. The Hotel bills Marriott Rewards for an award stay after you checkout, the amount Marriott pays to the hotel is usually pretty nominal, around $10 for FFI through to around $50 for a Ritz room. However if the hotel is at near capacity that night it is then paid much more, more like 90% of the prevailing rate.
2. The hotels have to buy the points they award from Marriott, whether thats the normal points after a stay or a compensatory amount of points. Complimenting a paid stay costs the hotel nothing from its own resources, but clearly reduces its turnover. Compensating via extra points does cost the hotel money, but may well be preferable to comping a room as the hotel buys points from Marriott far cheaper than we can.