For some reason, I sometimes have trouble getting a clean sound out of the D chord. My fingers are just too pudgy to cram three of them into that small a space and I often don't get all the strings pushed down enough in a hurry. Any chord that makes me use my pinky 4 frets above the others is also quite a challenge right now.
It has helped me some to get a more complete chord chart than most beginners start with - one that shows how to play the chords in all the barre chord positions up on the neck. There is probably one online, but I use the one in the back of a book I have. When I can't play a song as the tabs are written, I look to see if there is an easier barre chord that I can play, as the remextreme suggested.
Sometimes, I think a song sounds just as good without a certain hard to play chord, as well. Arrangers can get too fancy at times. You can also sometimes leave off a string at one side of the fretboard, and just not strum it. It won't help you get better, but it may get you through the song. It doesn't always work, because sometimes that note is really important to the sound.
It has also been said before here, but when you have trouble with a chord progression practicing at a very slow speed and making sure you are getting a clean sound from all the notes helps you to realize what you are doing wrong. Once you can play it well slowly, you can speed up.
I believe that the rest of it is the same as the answer to, "How to you get to Carnegie Hall?"