Connections between ontogeny and phylogeny can be observed in most species, and it is often the case that an evolutionary development is "replayed" in the development of the embryo. For instance, humans evolved from fish; human embryos pass through a stage with gill-like structures and with webbed fingers. The common ancestor of humans and apes had a tail, and so do human embryos at some stage. Whales are mammals who returned to the sea and lost almost all their hair; whale embryos pass through a stage with hair which is later lost.
Nevertheless, Haeckel's biogenic law of a strong one-to-one correspondence between ontogeny and phylogeny is rejected by modern biology. Human embryos don't look like fish; they look like fish embryos. A modern and more accurate version of the theory therefore claims that the development stages of a species' embryo resemble the embryonic forms of its evolutionary ancestors. But even this is not always correct: sometimes evolutionary stages are "skipped" in the embryo, and occasionally the order of evolutionary stages is reversed, or several stages are mixed in ontogeny. It is not possible to cleanly separate a "fish stage" from an "amphibian stage" from a "mammal stage" in human embryonal development.
Connections between phylogeny and ontogeny can be explained if one assumes that a species changes into another by a sequence of small modifications to its developmental program (which is specified by the genome). Modifications to the developmental program that affect early steps of the program will require modifications in all later steps and are therefore less likely to succeed. Most successful changes will thus affect the latest stages of the program and will retain earlier steps. Occasionly however, a modification of an earlier step in the program does succeed and that is when violations of the above rule are observed.