The objective of cluster analysis is to give us some information concerning a set of data, that we want to classify into groups with differences as little as possible. Many methods are being used today. Actually, hierarchical clustering of similar algorithms. The idea is simply to build a hierarchy of clusters using some heuristic. The first group uses a top down approach.
Every point is initially in a huge cluster.
Then, the cluster is divided repetitively until the desired number of clusters is obtained. On the other hand agglomerative methods, initially consider every point as a one-point cluster and merge the clusters repetitively until the desired number of clusters is obtained. Note that, in either case, you obtain a tree structure for the hierarchy of clusters. The draw back is that clusters are usually not optimal. This happens because a tree doesn't allow branches to split and then merge back.