What are the advantages and disadvantages of within-subjects and between-subjects designs?

What are the advantages and disadvantages of within-subjects and between-subjects designs? What techniques are used to try to help solve some of the problems associated with each of the designs?