Here's a link to an article I wrote about knowing all the cruise costs...
Cruisemates Blog Things That Add to the Cost of Your Cruise – Kuki
Hope it might be of some help.
Though I think a credit card is the best for onboard expenses, it is not compulsory. You can deposit cash at boarding to cover your onboard expenses if you like.