Cruise ships don't provide 'insurance' to crew like what you think of land based medical insurance. It's more of an emergency clinic, there to provide care for illness and injury. Free ibuprophen, asprin, sore throat lozenges, sea sick pills, antacid and yes, condoms are usually free for the taking in the crew waiting room. You need to see a doctor for anything more (antibiotics, painkillers and the like) and if it's even worse, they'll send you off to a doctor in selected ports for a diagnosis/treatment. If you can't work for more that 2 weeks, you're sent home or to on land therapy if it's a short term problem.
Any meds you're taking prior to coming onboard, you're responsible for buying them. Not to say they couldn't write a script for BC pills, but they won't provide/pay for them.
Now - Not sure on Carnival if certain positions (management or marine officers) might have the benefit of land-based insurance? I'm 'junior management' on another line and have a Cigna Expatriate plan that I don't need to go thru the ships doctors if I need anything and I'm covered when not working onboard and off contract. (Normal crew, you're only covered when under contract onboard)
I'd personally stock up on your script for your contract and make sure you have a way for getting more (via mail?) and a written script from your doctor, or see what the availability of them are in the ports you're visiting.