1. Reduce overfitting
2. Train models faster
3. Take advantage of unsupervised data
Regularization handles case (1) quite well. It can also be used in conjunction with most methods of dimensionality reduction such as PCA/auto-encoders.
PCA covers all three, but isn't as effective at dimensionality reduction compared to auto-encoders.
Auto-encoders tend to yield a better compression than PCA but take more time to train and produce output that's harder to understand. There is a bit of analogy here, auto-encoders are to PCA what neural nets are to linear regression.