Thanks Harlen! That is how it usually works - follow along for a while and eventually it clicks. One thing you can always do to speed that up is to use the ideas in a lesson to make something that's different from the tutorial, even if it's just a little experiment with primitives. E.G. after a lesson about arrays, try to array Suzanne in a fresh scene and only look back at the lesson if you get really stuck. Experiments like that make the concepts stick.
As for the paint, I believe the grunge comes from the ambient occlusion node, so it does depend on things like the surrounding objects, scale of your objects, whether or not AO is enabled (if in Eevee), etc. It's not the most robust, but it worked ok in this case.