bad starter solenoid could be a problem as well. once the contacts start going bad any increase in resistance= much lower voltage to the starter= slow motor.
and the starter could have either a shorted winding or have worn out the bushings and rubbing against the case, or bad brushes, or just worn out.
Nothing much has changed since "Boss" Kettering realized you can get much more than continous rated power out of a motor for a short period of time and developed the starter motor. Same thing today, they are capable of high output for short time periods which means they are being run really hard and everything has to be up to snuff for it to work.