If you sign up for a particular cabin, you are indicating to the cruise line that you are really interesteed in that cabin.
If however, you take say an Inside cabin on a gaurantee. You are telling them that you are open to a better cabin. Also you will not receive lessor cabin than you have paid for. This certainly works in all of the Carnival brands. Needless to say having status with the particular cruise line helps.