Microgrids are low-voltage electrical distribution networks, heterogeneously composed of distributed generation, storage, load, and managed autonomously from the larger transmission network. Modeled after the hierarchical control architecture of power transmission systems, a layering of primary, secondary, and tertiary control has become the standard operation paradigm for microgrids. Despite this superficial similarity, the control objectives in microgrids across these three layers are varied and ambitious, and they must be achieved while allowing for robust plug-and-play operation and maximal flexibility, without hierarchical decision making and time-scale separations. In this seminar, we explore control strategies for these three layers and illuminate some possibly-unexpected connections and dependencies among them. We build upon a first-principle model and different decentralized primary control strategies such as droop, quadratic droop, and virtual oscillator control. We motivate the need for additional secondary regulation and study centralized, decentralized, and distributed secondary control architectures. We find that averaging-based distributed controllers using communication among the generation units offer the best combination of flexibility and performance. We further leverage these results to study constrained AC economic dispatch in a tertiary control layer. Surprisingly, we show that the minimizers of the economic dispatch optimization problem are in one-to-one correspondence with the set of steady-states reachable by droop control. This equivalence results in simple guidelines to select the droop coefficients, which include the known criteria for power sharing. Finally, we illustrate the performance and robustness of our designs through through simulation studies and hardware experiments.