Kohler uses a friction drive on their non shift solenoid starters. The worm gear pushes a collar up to the pinion which has a rubber lining. If that lining gets chewed up or oil contaminated it will slip and cause problems like you are talking about.
The idea behind it is it gives the starter some cushion in the event of a backfire on start up.