If you are seeing a foreign transaction fee on your credit card statement then it is entirely to do with your bank/credit card provider and their terms and conditions of use. mycruisephotos.com operates in US$. Anyone using a credit card not tied to a US bank will likely get charged foreign transaction fees.
The reason you may have never noticed this before is that international laws for credit card providers have tightened up over the last few years making credit card providers more transparent about their fees. Those fees have always been there- they just have to show them now.
Some useful reading: