How is NAD+ used in lactic acid fermentation after it is oxidized from NADH?
Anaerobic Glycolysis

As this question refers to glycolysis in the context of lactic acid fermentation it clearly relates to anaerobic glycolysis, which is why I added that to the question.

I believe it is correct to regard the primary purpose of anaerobic glycolysis as being to generate ATP for the anaerobic organism or tissue. 

To understand the roles of NAD and lactate in this process you need to consider the chemistry. The conversion of glucose to pyruvate is an oxidative process, with the oxidizing agent being NAD+, which itself is reduced to NADH. For glycolysis to continue the NADH must be reoxidized to regenerate NAD+. This is the primary purpose of the reduction of pyruvate to lactate and is summarized in my own diagram, below.



So, the answers to your (paraphrased) questions “what are NAD and lactic acid needed for?” and “are they waste products?” are:


NADH isn’t needed for anything — it’s the consequence of the oxidative function of NAD+. No, it is not a waste product — it has to be reoxidized otherwise glycolysis would stop for lack of oxidising power.
Lactate also is not needed for anything, as evidenced by the fact that other reduced products of pyruvate are produced in different organisms, most notably ethanol in yeasts. Ethanol can certainly be regarded as a waste product, although the carbon skeleton of lactate is salvaged in multicellular oxygen-breathing organisms.


The so-called cycle of Cori &amp; Cori

In my opinion it is best to approach glycolysis as I have done above, without reference to the tissue or organism, so as to understand the essential features of the process.

In the specific case of mammals, some tissues perform glycolysis anaerobically, e.g. the red blood cell (which lacks mitochondria) or rapidly excercising muscle (where the blood supply and number of mitochondria are not sufficient to generate ATP for muscle contraction. The liver, in contrast, has a plentiful supply of oxygen and hence NAD+, and so can reoxidize lactate to pyruvate if the former is transported in the blood from the anaerobic tissue to the liver, salvaging the carbon skeleton. 

Under conditions of low blood sugar (e.g. starvation) it is important that the pyruvate be reconverted into glucose in the liver by gluconeogenesis, rather than be converted to other products, and the glucose is released into the blood. In this case one goes full circle, this process is generally referred to as the Cori Cycle. I always avoided this term myself in teaching students as I found it caused confusion with cycles such as the tricarboxylic acid cycle and the urea cycle, where all the chemical interconversions take place in the same tissue.

Footnote: Glycolysis under aerobic conditions

Under aerobic conditions (e.g. in the liver after a carbohydrate meal) the purpose of glycolysis is not primarily to generate energy but to utilize the glucose, storing it as fat (after glycogen capacity is reached) or using it to synthesize intermediates. There are different fates for the pyruvate (acetyl-CoA is shown), but lactate is not one of them as the NADH can be reoxidized far more efficiently in the mitochondria, with molecular oxygen being the ultimate oxidizing agent.



Text References

Berg et al. Section. 16.1 covers glycolysis in great detail under aerobic conditions. The lactic dehydrogenase reaction is given little emphasis, but can be found in section 16.1.9.