Like cars and cities, ships are assumed to be female. Be good to her and she'll take care of you.
Thus, even when the name of a ship is masculine, the vessel itself is still a "she."
The USS John Paul Jones: she's a brave little thing.
Or, the Son of Thunder, from H.G. Wells' The War of the Worlds, is most certainly a "she" in the text.
But something happened (on the way to the forum or elsewhere) in the 1990's - one would assume. Suddenly the definite article is no longer in use, which renders the ship's assumed gender meaningless, if you ask me.
The original Star Trek spaceship, the Enterprise, transitioned into the second series of the franchise; the third series featured the Defiant; and then Voyager (no definite article) came along in the fourth.
Is it Titanic or the Titanic? Which is correct? When did it change? What happened? Is Voyager a "she"?