My husband and I used the NCL bogo airfare promotion for our cruise on the Getaway out of NYC last month.
We did not get to choose the airline, arrival airport or flight times.
NCL booked us on United. We did a one day deviation, so we could fly in a day early. They picked an early morning flight to Newark, leaving at 8:30am. That one got canceled by United a few days before our trip, so we ended up being switched by NCL to a 6:30am flight. That was exhausting, having to be at the airport by 4:30am.
Fortunately the hotel let us check in about 11am, instead of making us wait until the 3pm check-in time.
We had to pay $125 extra, to United, for a checked bag a piece, on the two round-trip flights.
Our flight home from Newark was scheduled for 5pm, so we had 6 1/2 hours of sitting at the airport waiting for our flight. There were several earlier flights to Cleveland, so it was irritating not getting to take one of those.
We did not get to sit together on either flight. United wanted a fee to choose our own seats, which I didn't want to pay. Not sitting together wasn't a big deal though.
We did not do NCL ground transportation to the cruise port, but we did do it for the cruise port to the airport on disembarkation day.
The good thing was the flight even with baggage was significantly cheaper than booking a flight on our own.
If you aren't on a budget, I'd say book flights on your own.