Thousands of passengers have disembarked from the powerless Triumph cruise ship after five days adrift in the Gulf of Mexico.

The holiday ship carrying some 4,200 people docked late last night in the port of Mobile in Alabama.

After a painfully slow approach that took most of the day, it took several hours to get the travellers off the ship as only one elevator was working.

Many of the passengers boarded buses to hotels in New Orleans or Texas.

The ill-fated ship lost power in an engine-room fire on Sunday some 150 nautical miles off Mexico's Yucatan peninsula.

The 272-metre vessel had been returning to Galveston from Cozumel, Mexico, on the third day of a four-day cruise at the time.

The cruise ship company, Carnival, disputed the accounts of passengers who described the ship as filthy, saying employees were doing everything to ensure people were comfortable.

However, company CEO Gerry Cahill apologised at a news conference and later on the public address system as people were disembarking.

"I appreciate the patience of our guests and their ability to cope with the situation. And I'd like to reiterate the apology I made earlier. I know the conditions on board were very poor," he said.

"We pride ourselves on providing our guests with a great vacation experience, and clearly we failed in this particular case," he added.

Passengers were supposed to get a full refund and discounts on future cruises, and Carnival announced on Wednesday they would each get an additional $500 in compensation.

While the passengers are headed home, Triumph will head to a Mobile shipyard for assessment.

The National Transportation Safety Board has opened an investigation.

The end of the saga was another public relations disaster for Carnival Corp.

Last year, its Costa Concordia luxury liner grounded off the coast of Italy, killing 32 people.