A ubiquitous feature of living cells is their growth over time followed by division into daughter cells. How isogenic cell populations maintain size homeostasis, i.e., a narrow distribution of cell size, is an intriguing fundamental problem. We model cell size using a stochastic hybrid system, where a cell grows exponentially in size (volume) over time and probabilistic division events are triggered at discrete time intervals. Moreover, whenever division events occur, size is randomly partitioned among daughter cells. We first consider a scenario, where a timer (i.e., cell-cycle clock) that measures the time since the last division event regulates both the cellular growth and division rates. Analysis reveals that such a timer-controlled system cannot achieve size homeostasis, in the sense that, the cell-to-cell size variation grows unboundedly with time. To explore biologically meaningful mechanisms for controlling size we consider two classes of regulation: a size-dependent growth rate and a size-dependent division rate. Our results show that these strategies can provide bounded intercellular variation in cell size, and exact mathematical conditions on the form of regulation needed for size homeostasis are derived. Different known forms of size control strategies, such as, the adder and the sizer are shown to be consistent with these results. Interestingly, for timer-based division mechanisms, the mean cell size depends on the noise in the cell-cycle duration but independent of errors incurred in partitioning of volume among daughter cells. In contrast, the mean cell size decreases with increasing partitioning errors for size-based division mechanisms. Finally, we discuss how organisms ranging from bacteria to mammalian cells have adopted different control approaches for maintaining size homeostasis.