You can always ask for a free upgrade but it's quite unlikely you will get it. Just like airlines, cruise ships tend to overbook under the assumption that some passengers will cancel. If the ship is under booked, you could try to get an upgrade but don't count on it.
Number One Contributor
Sure, you can always ask; check with whomever you booked your cruise through a few days prior to departure, and even upon checkin you can always ask. The procedure though is to offer upgrades to their repeat customers, then those who have reserved guarantee rooms, and then everyone else, assuming their are rooms available to upgrade to.
Bottom line, doesn't hurt to ask.
Top 10 Contributor