You might not have even known that Darwin waited 23 years to present his work to the public; but, now that you know, you are probably wondering why.

Charles Darwin knew that once he announced his findings, he would become the center of a debate between religion and science. He knew he would shake everything that people had believed for so long. Furthermore, he knew that he would be putting himself in the center of attention and the center of debate.
The biggest reason Darwin waited to publish his theory was because of the religious implications that it carried. Announcing that species evolved from one another seems to be in contrast with the creation account as listed in Genesis. He knew that this would be a very controversial issue, and he was right.
Genesis states that God created the world in seven days; however, evolution states that the world and the creatures in it progressed over the course of millions of years. When Darwin first presented his theory, saying that God did not create the world in seven days, this was a huge issue. Even Darwin's deeply religious wife noticed that he made many valid points, but he also had some points that were not so complete.
Now though, many people realize that the phrase "seven days" in the Bible is symbolic. They understand that God could have created the world with evolution in mind. God is the cause, and evolution is the product.
It is a little bit difficult to separate the religious implications from the cultural implications, since they were so intrinsically tied together, and are to an extent even to this day.