L'altezza si adatta sempre al contenuto, se il contenuto è inserito nel normale flusso della pagina. Se invece hai all'interno degli elementi con, ad esempio, la proprietà float, allora il div contenitore non si adatterà.

Tralasciando questa breve spiegazione, ti assicuro che l'utilizzo di div contenitori ai fini di impaginazione è perfettamente evitabile con un corretto uso dei css. Metti nell'html solo i div che ti servono realmente, postami la struttura e ti aiuterò ad impaginarli senza div contenitori o altre porcherie.