Gene therapy has emerged as a promising approach for the treatment or prevention of acquired and genetic diseases. At the present time, major somatic gene transfer approaches employ either viral or non-viral vectors. Viral vectors show high gene transfer efficiency, but are deficient in several areas, including the induction of a host inflammatory and immune response. Some of these problems can be circumvented by employing non-viral vehicles, such as cationic liposomes or polymers. The complexes they form with DNA are defined as "lipoplexes" or "polyplexes, respectively, and constitute the most promising alternative to the use of viral vectors for gene therapy. Here we review the interactions between the vectors and DNA leading to complex formation, the supramolecular structures of lipoplexes and polyplexes, and their mechanisms of DNA transfer. Our objective is to provide a framework for the future design and synthesis of optimal non-viral vectors for gene therapy. The structure, charge and formulation of these vehicles are also related to the stability, and consequently to the efficiency of gene transfection. While lipids that facilitate transformation of lipoplexes to non-bilayer phases mediate high transfection activity in vitro, lipids, like cholesterol, that confer stability in serum, are more suitable for gene delivery in vivo. The efficiency of polyplex-mediated transfection depends on the ability of the polymer to condense DNA, while allowing it to dissociate once inside the cell.