The starter has to spin at a fast enough speed to cause the "Bendix" to spin up and the gear on the starter shaft extend to the point where it engages the flywheel gear. Second, the starter must have 150 amperes, give or take, to spin the engine with the plugs installed. Both functions require a fully charged, non sulphated up (high internal resistance caused usually by age) battery with all connections clean, bright, and tight (on the inside where current flows, not necessarily on the outside where it looks pretty)....which includes the high current contacts INSIDE the starting solenoid and if you have a standard lead posted battery, the interface between those battery posts and the cable posts.....and includes the crimps where the terminal lugs are crimped to the high current cables....both plus and minus wiring. A voltmeter can show you your bad connection if that including a sulphated battery. Just look for a voltage drop while cranking. None of the contact points should have a measurable voltage across them.
The starter needs at least 10v across it while cranking to function properly. A 12v system -10 volts at the starter leaves 2 volts of total (plus, minus, and battery) circuit voltage drop. At 150 amperes, Ohm's Law states that the total circuit resistance can't be more than 2/150 = 0.013 ohms and brother, that taint much!
Gonna bet your boat is violating one of these requirements and that is your problem. A little WD 40 on the starter shaft wouldn't hurt either.