Time, and experience are the 2 biggest factors that I would attribute my "greatness" to (I really think I have room for improvement on so many levels)
I'll be honest, all I've done is watch other people make music, and spend time making it. I have a very basic knowledge of music theory, and don't really know too much of what I'm doing.