Немного духоты, почему корабли ходят простыми словами:
Если говно в реке плавает, оно может только либо "плавать", либо "тонуть", иных свойств и действий ему недоступно. У корабля есть несколько состояний, когда он находится в воде (т.е. "плавает"): он может, например стоять в доке, плыть на буксире, дрейфовать в море, идти своим ходом...
Свойство "ход" и соответственно слово "идти" и свойство "плавучесть" и прилагающееся к ней слово "плавать" для корабля не тождественны. Например, корабль, потерявший плавучесть, тонет. Корабль, потерявший ход в пути, не тонет, а дрейфует, пока его не возьмут не буксир. И тогда он поплывет на буксире и его поставят в док, где он будет стоять (и все это время он вроде как будет плавать в воде).
Поэтому, если корабль перемещается по воде из точки А в точку Б своими силами, то он "идет", т.к. движется при наличии у него собственного хода, а не просто находится в воде.