There are a handful of resources that come up again and again when experienced practitioners talk about how they actually learned this field, and Aurélien Géron's book is near the top of nearly every one of those lists. The reason is not marketing or reputation, it is that the book does something quietly difficult, it explains machine learning with real mathematical honesty while still being a pleasure to read and, crucially, while always tying the ideas back to code you can run yourself. The structure is part of why it works so well. The first half sets aside deep learning entirely and teaches the classical foundations with Scikit-Learn, and this section alone is worth the price, because it walks through the end to end shape of a real project, framing a problem, getting and cleaning data, feature engineering, training and tuning models, cross validation and honest evaluation, and it does so with an intuition for the underlying maths that most tutorials never bother to build.
By the time you reach decision trees, ensembles and support vector machines you are not memorising recipes, you understand the trade offs. The second half then moves into deep learning with Keras and TensorFlow, and it climbs steadily from simple neural networks through convolutional networks for vision, recurrent networks and attention for sequences, up to transformers, autoencoders, generative models and a solid introduction to reinforcement learning, all in the same clear voice. Every chapter is paired with Jupyter notebooks on GitHub that the author keeps in reasonable shape, so the book is really a guided lab as much as a text. The honest caveats are the ones that come with any serious book.
It is big and it is dense, and the people who get little from it are almost always the people who tried to read it like a novel rather than sit down at a keyboard and work through it, which is genuinely the only way to extract its value. The deep learning chapters lean on the foundations laid earlier, so jumping straight to the exciting parts leaves gaps that show up quickly. A book also cannot mark your work, answer your questions or hold you accountable, so you supply the discipline yourself. And no printed edition, however good, can stay current with the very fastest moving corners of the field, so the large language model material is best treated as a strong conceptual grounding that you top up with more recent online resources.
My take is simple. If you are serious about learning machine learning properly and you are willing to do the work, this is the resource I would reach for first, ahead of most paid courses several times its cost. Get the third edition, treat it as a term of study rather than a weekend, run every notebook, attempt the exercises before looking at the answers, and pair the last few chapters with current online material on modern language models. Do that and you come out the other side with the thing most learners never quite get from video courses, a real working understanding of why these methods do what they do.