See, I've always really liked explaining how things worked in the abstract to people, and most of the time, they also enjoy it. There is a logic that flows through programming that is beautiful and I feel innately understandable, even for the most abstract of programs. However, it often requires a lot of explanation and of laying out an intellectual base on which to build your mental construct. That's hard, but I've always found it so worth it:
The person listening learns something new, and is able to see something beautiful in the way that someone else sees it. Additionally, the person who's doing the explaining gains the experience of trying to relate their idea to another person, an exercise that often expands the explainers understanding of the idea.
I really wish more people explained what they love and find interesting!