What makes some things difficult or easy to understand? I am thinking really deep about this topic with no answer. For example while learning set theory first time you find it very difficult to get your head around concepts like Union, Intersection etc but after some practice it becomes quite obvious, but as we go further there comes concepts like Group theory, Abstract algebra etc which even after reading 100 times doesn't makes any sense. On the other side you see some people playing with those concepts very easily.

Has anyone any idea on this topic?
Part of it has to do with the ability to construct a model of reality. Every developer can relate to that. Visible, concrete things are easy to deconstruct in pragmatic terms. But once you get into abstract concepts, it gets harder and harder to bind it with your existing view of the world.

Some concepts are also very difficult to grasp if you can't connect parts of the concept with things you already understand. This process is called chunking, and it can be understood as dividing the problem until each part already makes sense to you, or is small enough to tackle the question on your own.

On top of this, you have to know what you're really looking for in order to ask the right questions. Some students just ask "How does this work? I don't understand", but the teacher can't answer something so vague. Richard Feynman make a very good statement about this problem in this interview.