It is often used when labeled training data is scarce but unlabeled data is abundant.
for domain adaptation problems, we may have a lot of training data but the target application domain has a different data distribution.