I don't know how old your motor/battery are but marine service is really hard on everything. I'd start by cleaning and tightening cable connections at battery AND starter. (Disconnect battery before messing with started unless you like electrocution). Also check no-load voltage on battery and then check again under load to test battery. If all that's good, I'd look at the cables themselves (they do corrode and break down) and then the starter and solenoid. Marine electrical is tough!
Hope this helps.