The difference between a good song and a great song is complicated. However, when you really think about the idea, it all comes down to two things: riff and memory. If the song has a killer riff or two, chances are that you are going to love it, no matter what and no matter who the artist is. And if a powerful memory is somehow melded to this song, then a merely good song has now become a great one. At least, that's how it works with me.
So, for me, great songs and great memories are very often paired. My wife finds it odd that I can remember certain aspects of my life with uncanny precision. What she doesn't know is that I am able to do this through matching a great song with a great memory.
I can very often remember precisely what song was playing at a given time in my life if the memory is right. Conversely, depending upon the song, I can call up thousands of different memories from my youth. It's just the way my mind works. This is not at all surprising to me given that I have spent almost my entire life listening to music almost daily. Music seems to be the one constant in my life, though the music is always changing.