In addition to all these arguments, it's worth considering that empirical research in software engineering is still far from a mature science. It's in a similar situation as nutritional science: a lot of (seemingly) applied research is done from a desire for answers that can be turned into advice, but there is no solid foundation from fundamental research. For example, nobody has a clear idea of which aspects of context matter for studying a given question, so there can be no carefully analysis of confounding factors.