Either a bad starter or low voltage. Low voltage can be caused by the battery itself, but that would most likely be ruled out of the boat eventually starts fine. More likely is a bad connection on one of the battery cables, or the battery cables themselves (corroded). Check every single connection from the battery to the motor to the solenoid to the starter, both positive and ground. Make sure theyre tight and clean, with no evidence of corrosion (green or black on the cables themselves = bad). Clean and tighten them all just to be safe. Dont forget your connection to ground through the starter case to bellhousing as well.
If the cables or terminations look bad, then replace them with a new set- make sure there tinned with good sealed connectors, and dont cheap out on undersized wire.