What methods exist for distance calculation in clustering? when we should use each of them?
Well, there is a book called


  Deza, Michel Marie, and Elena Deza. Encyclopedia of distances. Springer Berlin Heidelberg, 2009. ISBN 978-3-642-00233-5


I guess that book answers your question better than I can...

Choose the distance function most appropriate for your data.

For example, on latitude and longitude, use a distance like Haversine. If you have enough CPU, you can use better approximations such as Vincenty's.

On histograms, use a distribution-baes distance. Earth-movers (EMD), divergences, histogram intersection, quadratic form distances, etc.

On binary data, for example Jaccard, Dice, or Hamming make a lot of sense.

On non-binary sparse data, such as text, various variants of tf-idf weights and cosine are popular.

Probably the best tool to experiment with different distance functions and clustering is ELKI. It has many many distances, and many clustering algorithms that can be used with all of these distances (e.g. OPTICS). For example Canberra distance worked very well for me. That is probably what I would choose as "default".