If at all possible, I strongly urge everyone to arrive a day prior to the cruise departure. Too many things can happen these days when it comes to flying. A security event in Seattle can cause delays across the continent. Or yesterday's severe weather can cause delays and cancellations today - I have personal experience with that one on three different occasions. Once on our flights to the cruise (which were the day prior, so the delays didn't affect the cruise) and twice on our flights home.
It is worth the price of a hotel room to come down to the port a day before and wake up relaxed and ready to cruise.
If you insist on flying down on embarkation day, don't push it. Leave early and try to get flights which arrive no later than noon. For most cruises this still allows you a couple hours for delays.
Customs has become a pain in some ports - south Florida in particular. They control things on debarkation day. It is typical for everyone to be off the ship by 10am, although exceptions do happen. In other words, don't book a 10am flight and expect to make it. We usually look for something around 1pm or so when cruising out of Miami. Noon is doable if cruising out of Port Everglades and flying from FLL.
Which cruise are you on, and when is it?