The Merchant Marine Act of 1920 (Jones Act) was primarily created to protect steel and ship building industries and workers in the US. The thought process was that if the rules made it easier for US-made hulls to ship products into and out of the US, more companies would buy US-built ships, including foreign countries.
Since we also needed facilities to build and support a Navy for national defense, it made sense to protect those industries in case of wartime necessity. We do the same for the airline industry. In exchange for gov't subsidies, the airline guarantee a certain percentage of seats for military transport on their entire fleet of aircraft.
Since so many ships in use today are foreign-made hulls, it's common for them to dock in a US port, make a quick stop in Mexico or the Bahamas, then continue on to another US port. If that work-around exists, then the primary purpose of the Act is being circumvented. Most cruise ships are foreign-made, which is why so many dock in Tahiti, Mexico, the Bahamas and Canada before returning to the US.
The Act is really not having the effect it was originally intended to have on maritime industries in the US. We aren't producing our own steel nor operating the number of foundries and shipyards we once were. We also aren't going to run out of Naval vessels anytime soon.