The Jones Act in combination with the Passenger Vessel Services Act (1889) also forces foreign-flagged cruise ships (which is basically all of them) to stop at a foreign port even if they loop back to the same starting US port or all passengers will be charged a fee of several hundred dollars.
A Seattle to Alaska to Seattle cruise will need to stop in Canada, even for an hour, just to avoid the extra fees. Starting at one US port and ending at another requires a stop at a "distant" foreign port which makes it difficult from cruise lines to offer routes like Los Angeles to Hawaii.
https://thepointsguy.com/guide/what-is-the-jones-act-for-cru...