We study the relations between stable and well-founded semantics of logic programs. (1) We show that stable semantics can be defined in the same way as well-founded semantics based on the basic notion of unfounded sets. Hence. stable semantics can be considered as "two-valued well-founded semantics". (2) An axiomatic characterization of stable and well-founded semantics of logic programs is given by a new completion theory, called strong completion, Similar to the Clark's completion, the strong completion can be interpreted in either two-valued or three-valued logic. We show that Two-valued strong completion specifies the stable semantics. Three-valued strong completion specifies the well-founded semantics. (3) We study the equivalence between stable semantics and well-founded semantics. At first, we prove the equivalence between the two semantics for strict programs. Then we introduce the bottom-stratified and top-strict condition generalizing both the stratifiability and the strictness, and show that the new condition is sufficient for the equivalence between stable and well-founded semantics. Further, we show that the call-consistency condition is sufficient for the existence of at least one stable model.