There is a big difference between a cruise won on the ship, while playing bingo or other on ship game or promotion and a free cruise where you sign up for it.
Usually the "Free Cruise" promotions are for time shares, vacation rentals, or other things. The Ramada Vacations is a good one. You end up with a time share pitch and a gambling cruise on a tiny boat to Nassau. Not my idea of a cruise. You also end up paying for the air, taxes and other incidentals.
Most of the time when you sign up you will "win". Everyone does but the first thing they will ask you is: "Your name and what credit card you will use to pay the taxes and "fees". Once you need to start paying for something it isn't free.
By signing up for things at your local mall, fair or other place you usually end up on a mailing list or SPAM list.
Personally I wouldn't register for a "free cruise" unless it was directly through a cruise line or offered by a MAJOR retailer. I would think twice or three times before registering with the major retailer.
BTW: When you win the free cruise, on a ship, you still must pay the port charges and taxes. You will also pay if you want an upgrade (the cruise is usually a, low end, inside cabin. You can apply it to a longer itinerary (if they allow it to be applied to a longer itinerary.) and pay the difference.
So there is rarely a "free cruise."