Low voltage, bad wire connections, faulty switch, faulty starter, engine is locked....I'm sure I missed a few.
If there is a mechanical solenoid on the starter motor and you hear it engage, and if there is power to the starter motor, there may be an internal problem with the Bendix gear on the shaft. Sometimes, the cure is to remove the starter, disassemble, clean, inspect, and lubricate the motor shaft so the gear has free travel. Other internal starter motor problems involve shorted or cut windings, faulty brushes, or worn bushings.
Could you have a blown fuse/tripped breaker in the circuit from the battery to the starter motor?