DC microgrids (DC MGs) are characterized by attractive features such as high system efficiency, high power quality, reduced cost, and less complex control. The hierarchical control is extensively proposed by researchers for DC MGs. This paper reviews and classifies different primary and secondary control techniques applied to DC MGs. The load sharing mechanisms employed in primary control are distinguished in passive methods and active methods. The different methods for secondary control are also categorized. Their key points and their limitations together with solutions that have been proposed by the research community are presented and critically assessed.