Consider the case where someone is homozygous for some trait. Both alleles code for the same enzyme, which causes a trait. Only a small amount of that enzyme may be necessary for a given phenotype. The individual therefore has a surplus of the necessary enzyme. Let's call this case "normal". Individuals without any functional copies cannot produce the enzyme at all, and their phenotype reflects that. Consider a heterozygous individual. Since only a small amount of the normal enzyme is needed, there is still enough enzyme to show the phenotype. This is why some alleles are dominant over others.
As many genes code for enzymes, I'll use them as an example. Consider if someone is homozygous for some random trait. Both alleles code for the same enzyme, which causes a trait. Only a small amount of that enzyme may be necessary for a given phenotype. The individual therefore has a surplus of the necessary enzyme. Let's call this case "normal".
Individuals without any functional copies cannot produce the enzyme at all, and their phenotype reflects that. Consider a heterozygous individual. Since only a small amount of the normal enzyme is needed, there is still enough enzyme to show the phenotype.
This is why some alleles are dominant over others, hope that helped.
http://en.wikipedia.org/wiki/Recessive_gene#Mechanisms_of_dominance = further reading.