Obviously, Charles Darwin made a great success in the theory of evolution. However, when he was trying to explain the fundamental of genetics, he came up with "gemmule theory". Now we all know it's not true, but why did Darwin make this mistake?
I think Darwin was not completely aware or convinced by Mendel's work. Mendel's work came into light only after 1900. Therefore, the principles of inheritance were not clear during Darwin's time.
Hello Lihao; Mr. Nepal has it right. You might enjoy reading some of the history of the study of genetics. During the mid 19th century the subject was terribly confused. Best regards, Jim Des Lauriers