As ships got bigger, the cost of cruising dropped. For example, there’s a Carnival infomercial from the mid-90s advertising a 4-day cruise from Los Angeles for a family of four “for less than $1,000 - our lowest price ever.” I booked the same cruise, 30 years later, for $595 for a party of four. Real dollars, no inflation adjusted.
If you leave near a port, you can take advantage of last minute deals. I wouldn’t do a cruise for less than 5 days unless it’s local - and I’d have to have a deal on top of it. 3/4 day cruises are depressing in the sense that they want to schedule your departure as soon as you’re on the ship.
The “deal” part is why I’d never do a 3/4 day
Disney cruise - no way would I pay nearly $4000 for my family to take a three day cruise when most of the first, and half of the last day is lost as people acquaint themselves with the ship.
Of course many people like shorter cruises since it allows them to overindulge for a few days.