Think of machine learning approaches as different ways to teach a computer to learn from experience. Just like humans can learn in different ways (from a teacher, through trial and error, or by finding patterns on their own), machines can too.These approaches determine HOW the algorithm learns and WHAT kind of guidance it gets during the learning process.

The key difference: It's all about what kind of feedback the algorithm receives while learning. Does it have labeled answers for everything (supervised)? No answers at all (unsupervised)? Only SOME labeled answers mixed with lots of unlabeled data (semi-supervised)? Or rewards and penalties for actions (reinforcement)? The approach you choose depends on your data and what you're trying to achieve.