We always book what we want where we want - we spend too much on the vacation to risk a lousy cabin. If you can plan and book far in advance that's the best. We have booked cruises with all the categories the on sale for same price - all balconies same price BF - BA (Princess levels) at same price. Or all mini-suites AD - AA the same. So of course we pick the most expensive category and the exact cabin we want. The best advice is to shop around and shop early. Even after you book if you find a better price with the same travel agency they will honor it. But it's your job to go find the prices. Don't expect the travel agent to monitor the cruise for you. We booked a cruise and 2 months later there was a sale on it so I call and they changed the price to the new price - saving us $600. So we had the cabin we wanted, category and better price.
Gaurantee is great if you don't expect an upgrade and don't care where your cabin ends up being on the ship. Not bad on a short cruise but it could be disappointing on a long cruise. It's really just a matter of what YOU want or are will to accept.