Learning requires feedback, not necessarily failure. The issue with watching a video is not that you can’t fail, you can certainly fail to get the point made in a video, but as you can’t get any feedback it would be hard to figure out that you didn’t get it.
In my view the difference between watching a video, vs trying to implement an idea as code is the direct feedback you get. If you’re wrong or made a mistake, you’ll know and can adjust your mental model accordingly.
It’s also what I like about writing code, if a colleague and I disagree we can just design a test together and find out and learn together.
Of course this is all a simplification, if you learn protocol X and then someone comes up with protocol Y that just adds a few fields then it may be just enough to read about these new fields. I'm talking about larger stuff, like knowing quite a bit about radio communication protocols and encountering secure wireless ranging protocols. A whole other game.
One extreme example that comes to mind is people asking contractors on websites like Upwork to implement a clone of google.com, with some ridiculous offers under $1000. The rationale being that google.com only has a logo, text field, and two buttons, so it shouldn't be too hard to make.