Well,, it can be a few things. Low voltage will spin the starter but not get it to engage into the flywheeel. If there is a rust ring on the shaft where the Bendix sits normally, it won't slide up the shaft to engage into the flywheel. And,, if the teeth are broken off the flywheel, the starter will pop out and spin all day. So,,, the first thing to do is test the battery voltage "Loaded", not just sitting there. If it is good, check the cables and connections as bad cables and poor connections will decrease the volts. And third, pull the starter so you can see what is actually going on... It may be a defective Bendix.