If you're driving, remember you don't have to stay AT Ft Lauderdale. There may be cheaper/better value hotels a little farther up the road. When we cruise out of Port Canaveral we usually stay in Daytona or Titusville, depending on whether we want to be on the beach or not.
In Ft Lauderdale last year I stayed at the Embassy Suites 17th Street -- it is very popular with cruisers but is in need of renovation. It's very dated and worn in places. The location is very convenient with a Publix and restaurants next door, and it's around the corner from the port. Uber to the port was cheap and quick.
A different time we stayed at Bahia Mar Resort (Hilton), which is on the beach. I don't know that I would stay there again. It was fine but not spectacular for the price -- resort fees, parking fees, breakfast not included. All that.