Federated learning is a distributed machine learning approach that utilizes decentralized data located on edge devices for training models while ensuring data privacy and security. It contrasts with traditional distributed machine learning, as the data never leaves its source, and various constraints like regulatory compliance affect data handling. Key challenges in federated learning include high bandwidth consumption, communication costs, and variations in client resource availability and data distributions.