which outlier detection technique?

I'm new to data science. I have a question on anomaly detection techniques.

There are several anomaly detection techniques such as statistical, density based, depth based, clustering, etc..

Given a dataset, what are the criteria or how should I choose which one of the techniques above (not the algorithms inside the techniques). In general why choose a particular technique.