Effective classifications (ones that are useful for both description and interpretation) of rocks arise out of an accurate understanding of rock components. For carbonates, clarity came with the recognition that limestones are mainly composed of particles (largely biogenic) generated within the basin of deposition. The degree of their subsequent compaction and cementation and any admixture of extrabasinal detritus are matters of secondary importance for the classification of limestones.
Today, there are two main classification systems for carbonate rocks around which community consensus has converged, the Folk and Dunham systems. Any serious student of carbonate rocks will need to know both. The Folk system is today used mostly in the academic world, while the Dunham system dominates usage in industry and also very widely applied in academic research. The Dunham system is applied somewhat more readily to descriptions made from handspecimens and for core descriptions whereas application of the Folk system depends on the availability of a thin section.
Interestingly, neither system is really designed for unconsolidated carbonate sediment. For example, in this tutorial modern ooid sands are classified as 'grainstone' or 'oosparite' for search purposes.