One problem you often see in threads complaining about the embarkation process is that people mistakenly believe that they've been assigned an embarkation time when they do their on line check in. It simply isn't true. You get a check in time from NCL, NOT an embarkation time and there can be a couple of hours of difference between the two even if the process is proceeding smoothly at the cruise terminal.
On a day when things go sideways for any number of reasons (most if not all of which are not in the cruise line's control)...the ship arriving late, an insufficient number of CBP officers working to process disembarking passengers, an insufficient number of longshoremen to unload baggage, the Coast Guard conducting an inspection, passengers who don't disembark in a timely fashion...and the check in and boarding processes become a complete cluster.
Cruise terminals aren't large enough to hold the entire passenger capacity of a big ship at once. There's an assumption of an orderly normal disembarkation, check in and boarding processes taking place. Once that doesn't happen the cruise terminal gets like a highway that has all lanes closed by an accident...you are just not going to go anywhere anytime soon.