I agree. If you see a good deal and it's something you want to do, then by all means go for it.
Unfortunately, most people don't have the luxury of being able to react to such major purchases, they have to plan well ahead of time, especially families.
But if you are able to react to specials and don't mind having to sometimes not get exactly what you want, then yes, it can be a good thing.
We were talking on another forum about how, in the past, cruise lines use to offer empty space even the day of the cruise at greatly reduced rates. Those times have changed alot.
But unfortunately, some people are still of that old mindset.
Use to be in the old days, that the cruise lines would really reduce any unsold cabins at the last minute. Security regulations have changed all that. But the cruise lines have also changed their philosophy on the matter. Use to be they figure it's better to sell empty space at a reduced rate than not to sell it at all. They don't think that way anymore. They use to also offer really good single rates, figuring it was better to have one person paying some money than no one paying any money. They don't think that way anymore, either, and very rarely offer good rates for singles.
As to why they feel that way, who knows. You can never get a straight answer from the cruise lines. To me, it would make sense to make some money than not to make any, but that's the way I think.
Perhaps it has something to do stopping complaints and being able to plan ahead. Obviously, if someone got a really good deal at the last minute than someone who got their reservation months in advance, someone is probably going to complain. Plus, the sooner people book, the better the cruise line can plan ahead for supplies. And lastly, if a ship is selling, they can raise the price. If a ship is not selling, then they can offer specials to encourage more bookings. Obviously, I'm just guessing, but I'm thinking the way everything is controlled nowadays by computer analysis, they like to plan ahead of time and not be surprised.