As a songwriter I am always trying to “map” what makes a great song. A great song must be one that people want to listen to, it's that simple.
I do love intelligent chord progressions and well thought out vocal melodies, but I am not overly precious, to me a Hip Hop song based on a loop can be a great song. Like I said, my definition of a great song is one that I (and others) want to listen to over and over and enjoy.
Now, here's the cool bit ..
Keep that play list on loop for a week or two. Listen regularly to them and slowly but surely you will start to skip songs that you grow to dislike – don't worry, a few weeks away from these songs will restore your passion for them!
Finally, after a week or two you will come to realise that the couple of songs you have not grown bored with have something in common. I can't say what that is but whatever it is, is the key!
You will have sieved through 10 songs and extracted the elusive qualities that great (enduring) music has. Replicating these qualities in your music will help you write songs that you (and others) will always love. Equally important is recognising what common features the other songs had, the ones that you skipped. Make sure you don't put those qualities in your music!
I found (to my surprise) that the songs I never got bored of were the ones that have more natural dynamics. The processes (squashed) songs became more tiresome than the others. This may not have anything to do with the song writing quality, almost certainly a mix issue, but it made me think about how I might produce music in the future.