This is one of the reasons we don't go to a public beach all that often. In Nassau, we go to Blue Lagoon, in Cozumel we go to Chankanaab (have to pay to get in), in Jamaica we go to an All Inclusive straight from port, even after our sting ray snorkel catamaran in Grand Cayman we went to a nice 7 Mile beach area called Royal Palms. If you have to pay to get on the property (royal palm would have cost like $3 to get in, it was free for us with our excursion but it's still not very much anyway) than that means its considered private property. Having these excursions or destinations has cut down tremendously on having questionable items hocked at us. You still get a little bit of that if you are in the major transport area getting taxis or something, but it definitely is kept to a minimum.
We find it is well worth it to pay for a great excursion, after all, you have come all that way, so for us, it isn't always worth it to walk to the closest beach full of bodies and yucky water to pay $10 for a chair or umbrella and have people try to sell us stuff. We would rather pay $55 for a gorgeous catamaran snorkel with amazing fish and peace and quiet (with some island music in there) and not have to have a care in the world... (and places like Chankanaab only cost like $29 to get into for the day and offer snorkeling right there down the steps to a beautiful reef, sea lion shows, and pure paradise.) For even more peace of mind and ease, you can book straight through the cruise line and typically you don't even have to worry about transportation either.
If it's public, than expect public and anyone to be there. If it's a private beach or location, than they can control the security a lot better.