2 for 1 and 2 to 3 class upgrade varies from cruise lines to cruise lines... from experience I've taken advantage of "class upgrade" the most on Carnival.. it's where several category of staterooms are priced the same... so the more expensive ocean view is the same price as the cheapest ocean view... although the room are identical in terms of layout, the location on the more expensive ocean view can be significantly better. On Royal Caribbean, my experience with "class upgrade" at the time of booking is mostly when the balcony stateroom is priced the same as ocean view. So instead of getting an ocean view, it'll assign you a balcony stateroom for the same price.
As for 2 for 1... I never really took advantage but it's when they charge you what the advertise price is for that cruise once... normally the fare you see advertise for a particular cruise is for the per person cost... so if the cruise is $499/person... you will normally pay $998 but with the promo, you're paying $499... HOWEVER.. if you track the cruise prices, they normally raise the fare just before the promo and drop the fare after the promo so in the end you're basically paying similar to what you would of paid if you didn't use a promo. Some time you do save money and some time you don't. On Royal Caribbean, the most common promo is buy 1 get 1 for 1/2 off or 1/3 off.
As for free upgrade.. i've scored some decent upgrades based on my status with the cruise line's loyalty program. I've got upgraded 4 times on Princess as an Elite and it's always Ocean View to Balcony. On Royal Caribbean, I never got upgraded until I reach Diamond Plus.. as Diamond Plus I only got upgraded 5 times. two times from a studio to a full interior and 3 times from an ocean view to balcony.