Here's my tip for paying for cruises. Whenever we get a check for something like an insurance overpayment, stock dividend, or if we buy something for someone and get reimbursed, we take that money and put it aside in a special fund just for our cruise (or vacation.) We also utilze a change jar that adds up quick. Before you know it, you've got $$$$ to do a cruise, and it doesn't hurt the budget.
We also have a Carnival credit card, which we use to book the cruise, and to charge the sail and sign card to because of the double points. Soon we'll have enough points for a discounted or free cruise!