Could be needing cleaning like has been suggested, could be short brushes, could be a bad armature. For the starter to work, it mus have enough initial turn to screw the drive up the armature shaft, unlike mentioned above. The spring mentioned above is to push the drive out of the fly wheel when the motor cranks and outruns the drive. Short brushes in most cases is the problem, although a bad solenoid can cause a restricted current flow to the flywheel. Hope this helps. BTW, if that is the problem the starter can be rebuilt. I rebuild them on a regular basis as does most starter / alternator shops.
John