Stabilizing the state of a system relying only on the knowledge of a measured output is a classical control theory problem. Designing a stable closed-loop based on an observer design requires that some necessary information on the state can be accessed through the output trajectory. For non-linear systems, this may not be true for all controls. The existence of singular controls (from the point of view of observability) is even generic in many cases. Then, the design of asymptotically stable closed-loops becomes a challenge that remains to be fully answered. Using various examples, we propose to review some strategies that showed to be efficient in tackling the difficulties posed by non-uniform observability (i.e., existence of singular controls) in the context of dynamic output feedback stabilization.