How can anyone give you a decent answer when that question is so general?
They can make nice graphics because they have learnt how to do so, get some software like photoshop and look at tutorials, maybe get a book.
As for your second question.
Yes and No,
I personally do a lot of graphics work but if I ever need a content management system for example i'll get someone else to do it for me.
If your working alone you really need some graphics skills, if on the other hand your a great programmer with html and ever server side stuff like php there's nothing wrong with gettin some pixel pushers doin the work for u.
Looking at the quality of what you have written I cant see u bein a programmer, so maybe go to www.tutorialized.com and get learning!