All cruise companies are geared to make money from you & currency exchange is no exception. The Caribbean Islands all take US Dollars, so it's more economical to take some with you. Personally, wherever in the world, I use a 'Hole in the Wall' for local currency, should I need it.
I agree that all Caribbean islands except US Dollars, unless you go to Martinique, they only except euros.
I am not sure why you would want to spend your limited time in port walking round trying to find a bank - all islands will take US$ so change it up before you go and therefore only pay one commission.
Dont take UK pounds. This ship is in dollars and all the islands will accept dollars though dont get confused with eastern carribean dollars which are worth less. go to www.moneysavingexpert.com and go to Travel/Transport page. Click on 'Cheap Travel Money' and you will find the best rates shown for you in a non profit making site with no bias. Plus plenty of other advice on spending abroad such as charges for using ATM's from your bank. VERY helpful site. Do not exchange £ on the ship as the exchange rate is as bad as most UK banks !!