XGBoost is often the go to algorithm for most developers and has recently won several Kaggle competitions.
XGBoost is an example of ensemble learning and works for both regression and classification tasks.
Ensemble techniques such as bagging and boosting can offer an extremely powerful algorithm by combining a group of relatively weak/average ones.
For example, you can combine several decision trees to create a powerful random forest algorithm.
By Combining votes from a pool of experts, each will bring their own experience and background to solve the problem resulting in better