Balancing an Imbalanced Dataset

This is an open question I have always had. When is it appropriate to balance an inherently unbalanced data set? Does this vary from case to case and should I just try out various options to see what works?

Why does rebalancing even work, because upsampling/downsampling is clearly not creating new information. The response to this question on stackoverflow (https://stats.stackexchange.com/questions/283170/when-is-unbalanced-data-really-a-problem-in-machine-learning)for instance suggests that there is no real conceptual problem with using unbalanced data.