Sociobiology is a very popular theory. It claims that genes (at least partially) control human behavior.
Now, in the general case, if we want to explain behavior, and we just attribute it to something random, like where the stars in the sky are, we will be laughed at. There is no explanation of how stars control behavior.
How's sociobiology different? It's not! There are studies that show correlations, but none that demonstrate causation. And there is no explanation of how genes cause the behavior, no more than there is of how stars do it. And there's a very compelling alternative explanation, that does include a mechanism: we act on our theories (worldview).
Now, you may know that animal behavior is determined by genes. And you may know that aspects of human bodies like eye colour and brain structure are (at least partially) controlled by genes. How can brain structure not (partially) determine behavior? Because the laws of computation state that universal computation is hardware independent.
In other words, universal computers -- ones that can do any calculation possible for computers -- all compute the same, no matter how you build them. Whatever the structure, if it's a universal computer, it won't give different results for the same input. It may have more or less storage space, and process slower, but, given adequate time and disks with extra memory, the results of all possible computations will come out the same.
So too with human brains. Any brain with the same input problem set, will give the same answer, because brains are universal computers. (Note that the input problem set includes all the theories [including memories] of the person).
Why is this different than with animals? Because animal brains are not universal computers. They cannot do all possible computations.