I remember getting off the ship in Ketchikan in 2006. Right after you got off the pier there was a Diamonds International. It really put a damper on the Alaskan cruise experience.
On my next cruise to Vietnam I'll probably get off the ship in Ha Long Bay and there will be another one.
Many years ago we bought a couple of small things there but usually go inland and buy from the locals.
People buy their stuff and that's why they stay in business. I know the cruise lines get a cut of what they sell. Nice contract to have.