Local authorities require a fee (that's right, no ship gets to dock for free!), and so the cruise line collects all the port charges from the ports they'll be heading to on an itinerary and, yep, the guests are the ones who'll foot the bill.