Problems such as overflowing toilets and power outages were reported by passengers.
"Yesterday, during regularly scheduled testing of the ship's emergency diesel generator, a malfunction occurred," Carnival said Thursday in a statement. "At no time did the ship lose power and the ship's propulsion systems and primary power source was not impacted."
Carnival said there were periodic interruptions to elevators and restroom services for a few hours Thursday night but "all hotel systems are functioning normally and have been functional since approximately 12.30 a.m."
The cruise line said it is making arrangements to fly passengers home via private charter flights and scheduled flights from St. Maarten. "Guests on the current voyage will receive a refund equivalent to three days of the voyage and 50 percent off a future cruise," the statement said.
Carnival said it is also canceling the ship's next voyage, which is scheduled to depart on Saturday.
The Carnival Dream, which can carry more than 5,000 passengers and crew, is based in Port Canaveral, Fla. It was on the last leg of a seven-day cruise and was docked in St. Maarten when the technical problem arose.
Passengers had emailed CNN to report problems aboard the ship.
"We are not allowed off of the boat despite the fact that we have no way to use the restrooms on board," passenger Jonathan Evans wrote in an email to CNN.
Gregg Stark, a passenger traveling with his family, relayed a similar story, emailing that there was "human waste all over the floor in some of the bathrooms and they're overflowing -- and in the state rooms. The elevators have not been working. ..."
Carnival said Thursday all of the ship's activities and facilities are now fully operational.
Last month, an engine room fire crippled Carnival Triumph, which drifted in the Gulf of Mexico with more than 4,200 people aboard. The four-day cruise turned into eight days as tugs hauled the vessel into port. A class-action lawsuit later was filed against Carnival, which has headquarters in Doral, Fla.