Why do my songs suck? Let me count the ways...!
Lyrics are by far the biggest stumbling block for me. This is mostly because I lack anything worthwhile to say that hasn't already been said a million times before. The few songs with lyrics I've done that I think are at least OK have managed some feeble minor difference, but I really struggle to find something to impart.
To a lesser extent, I have the same problem with the musical side. Every progression I come up with seems to be very reminiscent of something someone has already done. A corollary to this is that I am only slowly learning how to add interest to such things with the dynamics of a song, stops and starts, ear candy, little side excursions. My recent thread on the difference between a chorus, bridge, and middle-8 is part of trying to get better in that area.
The combination of too-familiar musical forms and nothing of interest to say lyrically is a deadly prescription for radical suckage.
And @feaker Paul, your songs do NOT suck. The songs are really good! Do you need more experience on the mixing side? Sure. But that is not the same thing IMO as the basic quality of the composition. That's a matter of production. So there, neener neener neener!