A todos los que estáis hablando de que "la flota romana era superior", os recuerdo que en 205 el hermano de Aníbal, Magón Barca, se plantó con un ejército en Liguria por mar desde Mallorca.
La flota romana estaba ocupada bloqueando Sicilia, que es donde esperaban que los púnicos desembarcaran. Y los púnicos efectivamente intentaron desembarcar allí en 214, con las tropas lideradas por Bomilcar, que tuvo que repelgarse al no poder esquivar a la flota romana. En la segunda intentona, de 212, acabó desviándose a Tarento, donde si pudo desembarcar.
También es importante recordar que cuando Escipión se plantó finalmente en África, en 204, Aníbal embarcó a sus tropas en Crotona (Palermo) y se plantó con ellas por mar en África, pese a la flota romana.
Estamos hablando de una guerra en el Siglo III antes de Cristo. No había radares para detectar al enemigo. No había buques de patrulla. La flota romana estaba comprometida en Sicilia para evitar desembarcos cartagineses y gracias. Y de todos modos, cruzar el estrecho de Sicilia significaba jugársela. En 255, durante la Primera Guerra Púnica, Roma perdió 700 barcos y 100.000 hombres por una tempestad cruzando el canal de Sicilia.
La razón por la que Aníbal no se metió en Italia por mar si no por tierra, no fue la flota romana. Fue porque navegar era mucho mas peligroso que ir por tierra, incluso teniendo que cruzar los Alpes. Magón en 205 va por mar porque después de la derrota de Ilipa en 206 se había tenido que replegar a las Baleares por mar, así que fuera por donde fuera tenía que ir por mar, y ya puestos se metió directo en Genua.