Lemmatization Vs Stemming
I would say that lemmatization is generally the preferred way of reducing related words to a common base. 

This Quora question is a good resource on the subject: Is it advisable to choose lemmatization over stemming in NLP? The top answer quotes another good resource that motivates why lemmatization is usually better, Stemming and lemmatization, from Stanford NLP:

Why lemmatization is better


  Stemming usually refers to a crude heuristic process that chops off
  the ends of words in the hope of achieving this goal correctly most of
  the time, and often includes the removal of derivational affixes.
  
  Lemmatization usually refers to doing things properly with the use of
  a vocabulary and morphological analysis of words, normally aiming to
  remove inflectional endings only and to return the base or dictionary
  form of a word, which is known as the lemma.


But that is just generally, it is not always better. Stemming still has some advantages and it will depend on the use case. Some reasons you would use stemming over lemmatization could be:

Some possible exceptions when stemming can be better


Simplicity
Speed 
Memory constraints