If you really want to do it right, then contact a local travel agent to work with. It does not cost anymore and they are there to work with you. You will get individual attention, if a problem arrises you will be able to get to the same person vs. a computer or just any representtive at the time when you call. They will also watch for price drops and go to bat for you to get your price lowered if possible.
Let me clarify this with what happened recently. I had a client call me looking for the "cheapest" cruise for him and his wife. He let me know up front that he was "shopping". I gave him a price and he told me he would be back in touch with me. In the meantime he contacted an internet based agency, he then told them what he was looking for. They quoted him a price..he called me back and told me the price and asked me if I could meet it or beat it. I looked up the sailing and what was quoted to him was a catagory 1A on a Carnival sailing. This is a very small inside catagory with bunk beds. I told him that and told him of course I could get him the same price, but did he want bunk beds? He was upset, said it was his and wifes anniversary and why would he want bunk beds. I told him to call the company back and verify what I told him. He did...he got a different agent and was told that yes this was bunk beds. He was mad. He called me back and I booked him in a higher catagory, even got him an upgrade to a 5A porthole cabin and I had one very happy cruiser. I have also walked him through the pre-registration process and sent him a newsletter on packing tips for first time cruisers. Internet companies and the Cruiseline itself does not do this for you. I am also watching for lower prices for him so I can try to get him upgraded again. A local travel agent gets to know you on a personal basis and will look out for you. Its called customer service.
Working with a local travel agent is the smartest way to book a cruise.