Updated

Six tug boats pulled a stricken cruise ship to shore Thursday morning amid cheers from a waiting crowd, bringing the nearly 4,500 passengers and crew back to friends and family after three days of limited food, smelly toilets and dark cabins.

Escorted by Coast Guard cutters, the 952-foot Carnival Splendor reached the dock at about 8:30 a.m. PT and the first group of passengers walked down a ramp about an hour later, dragging rolling suitcases behind them and entering a tent on the dock. With the ship's elevators out of order, port officials estimated it would take about four hours for everyone to leave the ship..

About 100 people onshore cheered loudly as the ship reached shore, while all along the harbor, tourists, joggers and fishermen stopped to snap photos.

"We're so happy to be getting off. Everybody's been cheering and clapping," passenger Sahizah Alim, 26, of Sacramento, said by cell phone.

"It's been like a nightmare," she said. "There's been no food, no power, no electricity, no flushing toilets. I spent the night tossing and turning in my cabin in the dark."

Passenger Mellissa Cleveland describes the anxious moments on Monday when the ship lost power after a fire in the engine room knocked out power, leaving passengers with no air conditioning, no hot food, no hot water, no casino.

"We were able to look out and see the smoke basically billowing out of the generator room," she told Fox40 in San Diego.

Despite what happened, she said the passengers were not upset with the crew.

"Everybody has been very gracious and understanding towards the staff," she told the Fox TV affiliate.

Family members anxiously awaited the cruise liner that left Long Beach on Sunday for a seven-day trip to the Mexican Riviera, only to return days early without ever reaching the beaches vacationers had hoped for.

Paul Patrick Sr., 50, of Riverside, said his daughter, Sabrina Klinge of Laguna Hills, was married on Saturday and was on her honeymoon cruise. The 27-year-old texted her father on Wednesday saying it was dark and she was living on Pop-Tarts.

"It was supposed to be this beautiful cruise and it turned into a nightmare," he said. "Nothing like it was advertised in the brochure."

John Gilmore, a port spokesman, said it could take five or six hours for all the passengers to disembark. Seventy-five buses were arriving to drive them back north to Long Beach, where the Splendor is based.

Aboard the ship, lines for cold food stretched for hours during the days after the power went out. Navy helicopters flew in Spam, Pop Tarts and canned crab meat and other goods for the passengers and crew, passengers said.

"We're eating spoiled turkey sandwiches and warm milk and warm yogurt," passenger Joey Noriega told ABC's "Good Morning America" on Thursday. "Everything smells like it's spoiled. ... Nothing's cooked. It's all sandwich meat. It's disgusting.

You're afraid to eat it 'cause it's been left out and touched by everybody else on the ship."

The bathrooms are dark and toilets no longer flush, passenger Valerie Ojeda told "Good Morning America."

"It was bad, but now that I think back to it, it was really bad," she said

Still, she said people were trying to make the best of the trip, dancing, laughing and singing along to "Sweet Caroline." The bar was open and offering free drinks, and there were musical bands and children's games.

Debbie Blocker said passengers helped each other up stairs and brought food to those who could not wait in line.

"It's like a big family on the sea," she told "Good Day L.A." on Fox 11 News in Los Angeles.

Crew members with flashlights even cleaned rooms in the dark, Blocker said.

Ship bars offered free drinks and as the ship approached shore, spirits rose.

"Last night, everybody was partying," Blocker said.

Cruise Director John Heald said in comments posted in a blog on Carnival Lines website that the people aboard "have risen to the obvious challenges and difficult conditions onboard."

"Obviously it has been a challenge but let me tell you the most important facts and those are that the ship is safe, the guests are safe and that nobody was injured," he said.

Gerry Cahill, chief executive of Carnival Corp.'s Carnival Cruise Lines, said the crankcase on one of six diesel generators "split," causing the fire. He said he doubted other ships in the Miami-based company's fleet were at risk.

The ship was 200 miles south of San Diego and about 44 miles off shore when the fire killed its power.

"We've never had anything like this happen before, so I really don't think we have any risks to other ships," he said at a news conference Wednesday. "This is a very unusual situation."

The engine room fire created a jolt like an earthquake and smoke poured from the room, Blocker recalled.

Carnival first planned to haul the ship to the Mexican port of Ensenada, not far from a movie studio complex used to film "Titanic," and bus passengers to the U.S.

But the cruise line decided it would be better to go a little further to San Diego, sparing passengers the 50-mile bus ride to the border. San Diego also offers more transportation and hotel options.

In his comments Heald defended the ship and crew.

There will be those who will say this has been "`the cruise from hell,"' he wrote. But he continued that there are "many more who will tell you what they have been telling me and the crew and that is that Carnival as a company have done everything they can and continue to do so."

The Associated Press contributed to this report