All cruises sailing from the US must stop in Canada or another foreign port due to the Passenger Vessel Services act (PVSA). Under this act, foreign-flagged ships must visit at least one foreign country during the cruise. A cruise line would face significant penalties for not complying. PVSA came into force in 1886.
Much has changed in the 135 years since, and while it now arguably prevents growth rather than supports it, the PVSA remains U.S. law.
There have been many calls for this act to be amended or removed. For cruisers, this became particularly apparent in 2021, when Canada effectively canceled the Alaska cruise season by refusing to allow even technical port stops for cruise ships to comply with PVSA. They were able to remove it last summer to salvage part of the Alaska season, but it was a one-time removal only.