'Nightmare' cruise ends for thousands of passengers