A critical appraisal of causal discovery algorithms