We went to Florida in 2009 for Christmas and wore coats the whole time...minus one very cold pool day.
Last January we went on a cruise leaving from Miami - it was downright HOT!! Our ports were all hot also, and we LOVED it. We stopped in Nassau, St. Thomas, San Juan, and Grand Turk.
We are looking at another one and this one will also stop in St. Thomas and Nassau. We swam in Grand Turk last time, but will most likely swim in St. Thomas on this next one. Megan's Bay is one of the best beaches in the world - if you can get there.
San Juan beaches looked more like what you'd see in America versus the Caribbean - from what we saw.
You do not NEED a passport to cruise, but it's recommended - so totally up to you!