1. No song should go on longer than 5 minutes without a good reason
If you've got a killer coda ("Hey Jude"), a multi-part epic (Pink Floyd's "Echoes") or a whole bunch of different lyrics to sing (some Dylan and Joni Mitchell songs), go ahead and stretch it. Otherwise, you're wasting everybody's time. The human attention span isn't meant to listen to the same melody forever.
2. A chorus should sound like A CHORUS
After all, the word "chorus" derives from "choral" singing, implying a sense of unity and plurality. If you can't imagine 120,000 people singing the same words in unison, your chorus is a fail. Keep it simple, but inclusive. In other words, make us want to sing along.
3. Sometimes notes should be held, for eeeeeeemphasis
I always knew Chad Kroger of Nickelback was a lousy singer, but I just recently figured out why. The dude doesn't hold his notes for shit. Sing one of their songs in your head ("How You Remind Me" or something) and notice this. He's just talking a bunch of words in a raspy monotone. Dude might as well be rapping. If your melody has nothing in it that's held longer than a quarter note, your song will sound stupid.
4. Lyrics are important
They don't have to be smart or make any sense. They just have to sound like you care, one way or another, what you're singing about. You can get away with totally stupid lyrics if it's just a fun party song, but not if you're trying to make us feel something. In other words -- write lyrics that are appropriate for the situation.
5. Don't be a drag
You can tackle serious subject matter without bumming everybody out. All the best songwriters know this. We are doing you a favor by listening to your song. You owe it to us to show us a good time. Or at least trick us into thinking we had a good time.
6. Don't write the song "Hallelujah"
Just don't do it.