I think FLL is the better way to go. As mentioned, there are plenty of hotels to choose from. The cluster on SE 17th street basically caters to the cruise crowd, and there's plenty of restaurants and stores to eat at/grab the things you forgot to pack/buy wine. Some of the hotels have shuttles, but uber/lyft is very convenient from there as well.
Leaving the ship, it is super quick to FLL, so you can take earlier flights (but not TOO early of course). Just walk off the ship and you'll be at the terminal within 30 minutes.
With all that said, Miami is still pretty close and I wouldn't completely dismiss flying into there if I got a really good deal.