Supervised vs Unsupervised Learning: Key Differences, Use Cases and How to Choose the Right ML Approach