What could be preventing my garage door from shutting?
Check your sensors. The sensors could also be very dirty or blocked by something. 

Openers also often have cutout sensors that will stop the drive when the load gets too high on the motor. It may be that the load in your case may be too high due to wear, dragging rollers, bent track, lack of lubrication, or rusty chain/screw. Look for these things and correct if possible. 

The overload cutout sensors are often adjustable and may be set to low and thus need re-adjustment.