Objects aren't hard, they were created to SIMPLIFY many development tasks.
PEOPLE and crappy languages make it hard. Because you hit it on the head, there's too many vague buzzwords associated with it. Worse, many of the programming languages out there lack the basic concepts in which objects make sense, particularly to the beginner.
These crappy poorly thought out and painfully cryptic languages just throw you into the deep end at Action Park's "grave pool"
I first learned objects in Smalltalk, and it made no sense. It was a painfully difficult and oft pointless language to use which sent me running and screaming back to assembly.
Then I learned them in Object Pascal, and suddenly it all made sense. Because by that point I already knew pointers, I understood the concept of records/structures, and objects are just record-style prototypes that have functions attached to them. It was said path that led me to spend a decade working in Ada where the language basically doesn't let you make the mistakes that plague idiotic garbage like C++.
That people have trouble learning objects doesn't surprise me, given the convoluted language used to describe how they work, much less the painfully cryptic syntax most "high level" languages seem to be so enamored of, particularly the past decade or so.
It's like the industry has been taken over by the effete elitist big iron dinosaur mentality, intentionally trying to make this stuff difficult and cryptic. See the use of words for things they don't mean (Closure? Don't you mean ENclosure?), words that nobody outside of a ivy league college classroom or courthouse would use in normal speech, etc, etc.
It literally feels like a lot of people who "teach' this stuff go out of their way in making it a hundred times harder to understand than needs be, just to maintain their L33T status.