As you are cruising in the Caribbean formal nights, even on board a Cunard ship, is not so formal as anywhere else in the world. We have cruised for over 20 years and have been on most of the ships, both large and small. My advise is to buy a quality black blazer from M&S and black light-weight trousers. The blazer should have dark buttons rather than brass ones. Take a couple of bow ties - black and perhaps burgandy and some decent neckties. A couple of dress shirts would be great but as they are expensive ordinary long sleeved white ones will do. A few pairs of black socks and black shoes, even casual will do and you now have a combination that will do every night. My wife always packs two pairs of silk trousers - one black and one white. With sparkly tops she can also get away with being formal but not over-formal. She also has evening gowns, but she only takes them when we are cruising in the Med or around the USA for instance. Be comfortable is the key and when packing to come home, do it whilst in port if possible, as El Capitan always likers to put his foot down on the exelerator on the last night at sea and it can get quite sickly at times! I am sure you will love the experience and become regular cruisers and have a great time.
To be honest you are better packing your own....my shirt was too tight round the neck, the arms on the jacket were too small.
You Can book in advance online for trips but like many other people who have cruised a few times go out on your own and explore the ports of call and the big bonus is the money you will save.
Take your own, at least you'll feel comfortable in it. You can book cruises in advance but I always book them onboard because there is always something else you may fancy doing.
We have a Cruise at Least once a year, and our advice to you is to take your own Tux, also I would recommend that you take your own trips, as each port that you stop at has people waiting at the port to take you on the exact same trips as you can book on board, but the price is so much cheaper, and you do not have to rush and keep up with everyone else.
You will have a great time, and I will be very surprised if you do not take other cruises after this one, HAVE A GREAT TIME.