When and how to use bagging?

Can all types of ML methods benefit from bagging? Decision Tree Classification seems always be the go-to example of bagging, what about other classifiers or regressions?

When it's suitable to do bagging, how to pick the size and number of bags?

Update:

I am looking for something mathematically more rigorous, such as, for each model (single learner) we can break its total estimation error into:

$$Error^2 = Bias^2 + Variance^2 + Irreducible^2$$

If we can have a rough estimation of $$Variance$$ and the correlation between the predictions from all the single learners, then we can know about how low we can push variance to through ensemble.