It's subjective. Cash can only be used for tips and in the casino on the ship. It really comes down to what you'll spend in the ports.
Since you said you'll be stopping at Labadee in another thread that one is easy. Cash can only be used on Labadee at the native straw market, to tip the local Haitian musicians and workers who work on the property, or for the hair braiding. All other items are purchased with your cruise card.
Ocho Rios is different. You need to have a good supply of one, five, and ten dollar bills. We usually budget $150 in cash for a port visit, and often don't use all of it.
Room service on the ship rates a tip of $2 to $5 in cash for each delivery depending on the size of the order. On RCI, room service between midnight and 5am has a $3.95 service fee which includes the tip. I also tip favorite bartenders and bar waiters in cash a few times, even though each bar order includes a 15% gratuity added on. Your pre-paid gratuities are only for the cabin and dining room people.