One of my least favourite things about learning to program was the use of foo/bar/baz in example code. They can make a simple concept difficult to understand, and a difficult concept almost impenetrable.
I agree, also other common abstractions like "item", or "x". When I was first starting out I had a difficult time discerning which parts of example code snippets were system keywords and which were user-supplied and arbitrary. When I started writing my own code I used these generic terms as variable names to my own detriment. It makes sense that these examples are generic and the authors don't want to commit to concrete variable names, but a concrete example is usually much clearer and equally translatable to some other domain. Reading other people's code with actual variable names helped me a lot to finally grok the basic structures of code back in those days.