It seems blending is mixing up outcomes from many models and resulting in a better result. Is there any resource that helps me knowing more about it?
Indeed, this is how they work. They try to give an optimal weight to (or directly learn from) the outputs of other learners. They usually achieve state of the art performance (after careful tuning) over almost all the datasets.
These weights are actually given to the "out of folds" predictions over cross validated models (to avoid giving the highest weights for models who have a perfect accuracy on the training set, such as random forests)
As the resources were quite scarce, I wrote these two articles:
Introduction to blending in Python (method and implementation oriented)
Why does blending works ? (theoretical arguments about the success of this method)