There are various rules in place which do not allow citizens of certain countries to book through north American travel agents or through north American websites. These can take the form of marketing agreements, government rules, and cruise line policies. Some cruise lines allow it, and some don't. My understanding is Costa has no problem with Europeans booking at U.S. agents, but Princess doesn't allow it. Not sure about Royal Caribbean, but I suspect they also restrict it.