It is clearly stated in the terms and conditions of joining the cruise vessel and has been for at least ten years that I know of. Port fees are huge, so the ships do not want to leave late or arrive late at the next port. Plus what about the ship behind them who is due to take that berth – do you hold it up and its 500 plus passengers who then miss out on experiences they booked.
I would think if you were in a third world country you would want to book a tour with the safest and most guaranteed to protect you and get you back on time.
The ship shouldn’t have re-imbursed them.