There are all sorts of ways these "scam" companies make money from a "free" holiday.
Some of them charge an "adminsitration" fee before they do anything, but then you may find there is some other sort of fee, then another one etc and before you know it you have paid hundreds of pounds for this "free" cruise (even if it exists).
Or it may be the CRUISE is free (in a basic cabin and no food), but you have to fly to Miami to pick it up, and of course you have to pay the air fare to get there. Or there is some other sort of "fee" to pay for this "free" cruise (food for example).
Or they may even be a "front" for a timeshare or holiday bond scheme.
Or they may just be criminals who want your personal details, or even worse your credit card details.
Whatever "scam" they use you are best not getting hooked.
You just have to remember there is no such thing as a free lunch.