I get asked this question from time to time. This is about the best explanation of the Jones Act aka the "Merchant Marine Act of 1920" that I've found. This answer comes from Alan Fox of www.vacationstogo.com, a great web site for researching cruise options and itineraries.
Q: I am interested in an Alaska cruise. I am wondering if there are any cruises that don't stop in Canada. I want to find a cruise that leaves Seattle and goes to Alaska so that I don't have to get a visa for Canada (only non-US citizens need this visa).
A: All cruise ships departing from Seattle or San Francisco for Alaska are foreign-built. According to the Jones Act, foreign-built cruise ships are prohibited from sailing itineraries that are wholly within the U.S., requiring such ships to make at least one stop in a foreign port. For Alaska cruises, that foreign port call is almost always in British Columbia, Canada. The only foreign-built ship sailing wholly within the U.S. is Norwegian's Pride of America, which was granted an exemption to the Jones Act by Congress. The Pride of America sails in Hawaii.
Note: Norwegian's "Pride of America" mentioned above is the only Hawaiian cruise you can take that doesn't involve a long detour to a remote island to satisfy the Jones Act. It stays in Hawaii the entire time of your cruise. This exemption was granted when NCL agreed to buy the unfinished hull from a failed American shipbuilding venture and float the unfinished hull to Norway for completion.