I provided a more thorough answer to this question in the comments of another thread (C: How to perform phylogeny analyses). I'll reproduce it here.
Both NJ and UPGMA use distances to construct a tree. NJ trees are not necessarily rooted, whereas UPGMA (as it's a clustering approach) are. The biggest difference is that UPGMA assumes a constant rate of evolution across the lineages i.e., a molecular clock; because this is often violated in empirical datasets, this approach is usually considered sub-optimal.
Since the NJ tree will be unrooted, sequences/taxa will be polarized based on how you perform the rooting. The placement of the root is one of the most difficult parts of estimating a tree. Depending on your question, an unrooted NJ tree may be appropriate for what you need. Alternatively, I'd recommend estimating a high-quality tree using a Bayesian approach such as BEAST which places a prior on the age of the root.