When I sailed, most of the time I could get the cash that I needed by making a "draw" on my pay before coming into port. Now, this has been a few years. I am not sure if the direct deposit is mandatory, if it isn't then it would probably be the ideal way for the cadet to have funds to draw from to go ashore with. During my sea year, I was also given money from the engineering officers, and they are also generally quite happy to buy a beer or two ashore, if one is a hard worker.
I still travel internationally, and I generally use a combination of both credit card and cash. Places like Africa are generally better as cash only, and as someone stated above, ID theft can happen right at home. I also have the added benifit of a company credit card, but at times I also use my personal card if needed. I can say that there are certain countries (Turkey by my direct experience) that are red flagged by most credit card companies. I had some issues with my cards just by reserving Turkish hotel rooms and flights out of Istanbul when ordering on line from the US. It took a few calls to the credit card companies to let them know that I was going over. It is also a real good idea to let your credit card company know when and where you might be using your card.
As far as changing money, it is best done through the ship's agent, if possible, or at the Seamen's Club in the appropriate port. Short of that, a reputable hotel ashore or a bank are also good sources. Since I travel by air, I usually change what I think I will need for the first couple of days at the airport, then check the hotel and bank exchange rates/charges if I am going to have a protracted stay.