Many biological systems have the capacity to operate in two distinct modes, in a stable manner. Typically, the system can switch from one stable mode to the other in response to a specific external input. Mathematically, these bistable systems are usually described by models that exhibit (at least) two distinct stable steady states. On the other hand, to capture biological variability, it seems more natural to associate to each stable mode of operation an appropriate invariant set in the state space rather than a single fixed point. A general formulation is proposed in this paper, which allows freedom in the form of kinetic interactions, and is suitable for establishing conditions on the existence of one or more disjoint forward-invariant sets for the given system. Stability with respect to each set is studied in terms of a local notion of input-to-state stability with respect to compact sets. Two well known systems that exhibit bistability are analyzed in this framework: the lac operon and an apoptosis network. For the first example, the question of designing an input that drives the system to switch between modes is also considered.