Cruise lines have actually become smarter and offer up sells where before they gave upgrades. They found out that people would pay for what they used to give away. It's a great business decision but it was always nice to get a better cabin for nothing.
In regard to up sells. They are "usually" a one time offer. As the cruise gets closer to sailing the cruise lines want to fill the ship. To do this they need the lower end cabins open so they can sell the $299 last minute specials. If they can get people who have paid a higher rate to pay a few bucks more for a better they can fill the vacated cabin for $299, make a few bucks on the up sell and have the onboard revenue from the people who took $299 cabin.
I hope the up sell fairy calls again with a better deal.