¿Por qué existe la ley de cabotaje? Si quiero comenzar un viaje en Nueva York y terminarlo en otra ciudad de EE. UU., ¿Por qué el gobierno no me permite hacerlo en barco?

Las leyes de cabotaje existen porque al gobierno le interesa regular el envío comercial entre sus puertos. No puede hacerlo muy bien si permite que buques extranjeros operen en sus rutas de envío nacionales. Los extranjeros pueden ignorar las normas laborales y de seguridad de EE. UU., Pagar a sus marinos muy por debajo del salario mínimo de EE. UU., Lo que dificulta la competencia con ellos.

Casi todos los cruceros tienen pabellón extranjero y tripulación extranjera para estos fines exactos. Sin embargo, eso hace que no puedan detenerse en más de un puerto de Estados Unidos en una fila. Pueden eludir esto yendo, por ejemplo, Nueva York -> Bermudas -> Baltimore.

EDITAR: tras un estudio más detallado, NYC -> Bermudas -> Baltimore probablemente cumpliría con la ley de cabotaje de carga (Ley Jones de 1920), pero estaría prohibida por la ley de cabotaje de pasajeros (Ley de Servicios de Buques de Pasajeros de 1886) ya que requiere la haga un crucero para ir a un “puerto distante” para que esto funcione (los “puertos distantes” calificados más cercanos se encuentran en Aruba y Colombia). Todavía puede encontrar un crucero que vaya a NYC-> Bermuda-> Baltimore-> NYC y salte en Baltimore, pero recibiría una multa de $ 300 por desembarcar en cualquier puerto que sea diferente de su puerto de origen. Según la misma ley, los cruceros extranjeros pueden detenerse en múltiples puertos nacionales seguidos, pero solo si visitan al menos un puerto extranjero (que no tiene que estar distante). Por ejemplo, hay cruceros desde Los Ángeles a la isla Catalina (30 millas de la costa de California) a Ensenada (puerto mexicano a 50 millas de la frontera de los Estados Unidos) de regreso a Los Ángeles, y son legales siempre que no se permita a los pasajeros desembarcar en Catalina

Encontré esto en wiki y creo que está bastante bien explicado:
Las leyes de cabotaje se aplican a los buques mercantes en la mayoría de los países que tienen una costa para proteger a la industria naviera nacional de la competencia extranjera, preservar la infraestructura de transporte de propiedad nacional para fines de seguridad nacional y garantizar la seguridad en aguas territoriales congestionadas.
Básicamente, los barcos nacionales pueden descargar pasajeros o mercancías en el próximo puerto doméstico sin haber sido multados, un barco extranjero debe ir “al extranjero” y regresar antes de poder hacerlo, sin embargo, en emergencias (emergencias médicas o familiares generalmente) se solicita una petición para CBP para consideración (jones act) y deciden si la multa continúa o no.

El gobierno de los EE. UU. Le permitirá realizar dicho viaje, pero solo en un barco que navegue bajo su bandera y cumpla con todas sus leyes, laborales y de otro tipo. Aparentemente, el problema es que la mayoría de las compañías operadoras de cruceros no están dispuestas a sufrir el impacto en su rentabilidad que resultaría de los costos de ese cumplimiento.