When should you choose a random forest over a decision tree? What criteria would make you decide to use a random forest over a decision tree? How do we decide when a decision tree is not sufficient?
 A: Random forest is generally a better model if the goal is for prediction. In other words, we'd want to reduce the variance of the model. For example, the built-in OOB validation error rate is handy and can be efficiently implemented.
However, we prefer a single decision tree if the goal is for exploratory analysis. We often just want to understand how the data is related in a tree hierarchy structure.
A: Decision Tree is a stand alone model, while a Random Forest is an ensemble of Decision Trees. Decision Tree is a weak learner. It is prone to over fitting (high variance) and is highly dependent on the training sample. Since a RF consists of a huge number of decision trees, it adds regularization and hence becomes a strong learner. 
For more information about why RF are used over Decision Trees, check out my personal blog Decision Trees, Random Forests and XGBoost
But the thumb rule is, if the decision tree itself is giving acceptable results for your use case, a random forest would be over kill. This is analogous to a situation where, if a linear regression model is providing acceptable results, do not build a deep neural network.
