Knowledge.. Personal knowledge is usually best.. If you think about all the songs people out there write you realize that most of the time they are somehow related to that person's personal life.. If you put your heart and soul into every song you make.. create a good beat and there you have it.. You could create the next best song that everyone could be sigging.. Basically you have to remember that your not going to get it right the first time.. and do stress too much about your work. I happen to be a perfectionist and so I tend to create two different versions of the same song.. I have the original one that i came up with first and then I have the one that i modified. I usually play it for someone and see what they think of the songs and which one is better.. That way If they like the original i still have it.. and if they like the modified one, i know to stop thinking about it.