One of the big reasons is they need to fill the ships. Cruising keeps growing every year. While still only about 11% of Americans have cruised. The cruise lines keep building bigger and bigger ships and they have more berths to fill. They offer the lower good deals and hope they make it up on the onboard spending-- Drinks, photos, spa, casino, shore excursions.
To give you an idea as of Feb 6, 2006 23 new ships were projected to come out between Apr 2006 and Fall 2009. Those ship represent 63,464 lower berths. I don't believe these figures include Royal Caribbeans "Genesis" project or Celebrity's "Soltice"