Varicose veins are caused by leaky valves. These valves ensure that blood flows in the correct direction i.e. towards the heart. When these valves fail, the blood flows backward and causes the vein to swell. The main valves, which cause varicose veins, are either in your groin or behind the knee.