Birch is an iterative clustering algorithm that builds a CF (Clustering Feature) tree to group similar data points together in clusters. It performs hierarchical clustering without scanning the entire database by making clustering decisions based on the CF tree. The algorithm has four phases - it first builds an initial CF tree, then condenses it, performs global clustering on the leaf nodes, and optionally refines clusters through additional scans. Birch aims to minimize data scans and running time for very large databases by exploiting non-uniform data distributions.