I have booked 3 cruises to date and have had different experiences with each booking. The first booking was an inside guarantee with Princess and I booked more than 6 months in advance. My TA encouraged me to book early because Princess is notorious for giving nice upgrades and early booking promotions. I booked the category M (Gala deck 4) and was assigned a cabin in category I, midship (Aloha deck 12) plus we got a $50 cabin credit. It was perfect....away from all the hustle and bustle of the crew, dining rooms, etc. We discovered that people on the same deck had paid much more for their rooms and I did not have the heart to tell them about the great deal we got.
The second booking was with Royal Caribbean, 3 months in advance with limited rooms available in the category I was seeking. I prefer to be midship so we chose a stateroom. With such a small inventory left, I did not want to take a chance of being placed in a stateroom near the kitchen or forward so we booked a cabin in the location we wanted. They threw in a $100 casino credit just for grins and giggles. Not a bad deal. I don't gamble but I hope to cash in the chips for stateroom credit.
The third cruise with Princess was again booked on a guarantee. With so much time left between now and August, we are guaranteed to get a good room this far out. Although we haven't received a bump in category upgrades (inside to outside or balcony to suite) we do enjoy knowing that early booking discounts do exist and take advantage of them when we can. I look forward to getting the cabin assignment.
I really depends on inventory, timing and your preferences. I hope this helps.