* Battery: A weak or dead battery is the most frequent cause. The starter motor needs sufficient power to turn the engine over, and a failing battery might not provide enough.
* Starter Motor: The starter itself could be failing. It might be worn out, have a bad solenoid, or have faulty wiring. This would prevent the engine from cranking strongly or at all.
* Alternator: While it doesn't directly prevent cranking, a faulty alternator means the battery isn't being recharged. If the battery is already weak, the car might crank weakly or not at all.
* Wiring: Corrosion or loose connections in the wiring harness (especially around the battery, starter, and alternator) can interrupt the flow of electricity needed for cranking.
* Fuel System: There might be a problem with the fuel pump, fuel filter, fuel injectors, or even a lack of fuel in the tank. The engine won't start even if it cranks if it doesn't have fuel.
* Ignition System: Issues with the ignition coil, distributor (if equipped), spark plugs, wires, or the crankshaft position sensor can prevent the engine from igniting the fuel-air mixture.
* Security System: Some cars have security systems that can prevent the engine from starting even if it cranks.
* Engine Problems: More serious internal engine problems (though less likely to *only* result in cranking) could also contribute.
To diagnose the problem, you'll need to systematically check these areas. A multimeter is a useful tool for checking battery voltage, alternator output, and for tracing wiring issues. If you're not comfortable working on cars, it's best to take the vehicle to a mechanic for diagnosis and repair.