Mostly, for simple series motors, the reverse is handled by a cross wiring arrangement on the back of a DPDT centre off toggle switch
+ and - go to the switch, and two wires go to the motor.
Some motors have three wires, which becomes 1 common and direction selection. There might be a common ground (return) , and two positives (one for each direction) . Or the positive might be common, and have two switched returns.
if it doesnt always work, check that there is sufficient voltage at the motor (pair of crocodile clips etc and a multimeter) , watch the voltage when it stalls or doesnt move.
THE OTHER thing is, all motors will have (or should have) microswitch limit switches- you might have a dicky switch / actuator causing the system to think it is end of travel when it is not.
Failing all that, do a no load test on the motor- IE without the crank connected and see if it behaves.
-glen