Many countries that cruise ships visit have extremely strict laws against bringing controlled substances across their borders. They normally have even stricter laws about using and distributing those substances in their countries.
Any ship captain who knowingly permits these substances onboard his ship when it visits these countries can be arrested, detained, fined, lose his license, have his ship seized, or cause his company's ships to be barred from ever entering those countries again. Why would he want to take these chances?
The odds of convincing all these countries to relax their drug laws is zero.