You can choose to pay in local currency, too, but obtaining money in 3+ currencies before a cruise is not necessary. You'll often receive change back in local currency even when paying with USD. If you buy a $5 souvenir with a $20 bill in Mexico, for example, you'll receive change in Mexican pesos.