The cause of low T varies case by case on an individual basis. Some things that can cause low T include:
Prolonged stress
Lack of sleep
Inadequate calories
Poor diet
Over-training
Medication side effects
Lack of weight training
Alcohol
Recreational drugs