There are various causes of migraines or tension headaches: stress, hormone changes, diet, or medical conditions. Whiplash, concussions, and neck injuries can also cause migraines.