In my experience, most hotels (not just Marriott, but Hilton, IC, and SPG too) don't charge your card until checkout - however, if you attempt to cancel, you'll still be charged either way.
Some hotels charge at time of booking - SPG hotels are usually better about it than other brands, but most don't charge right away.