El float de CSS trae consigo una serie de problemas históricos, que afortunadamente hemos ido superando con CSS Flexbox y CSS Grid.
El height también es un atributo conflictivo, porque lo general es que los elementos crezcan tanto como se necesite y muchas veces ese atributo no funciona como se esperaría.
Lo que no dices en tu pregunta es qué efecto quieres conseguir, por lo que no sé muy bien cómo direccionar la respuesta de manera que te resulte útil, más allá que investigues esos otros estándares de CSS para ver si puedes aplicarlos y solucionar tus problemas.
Sobre cómo afecta al float al contenido, decir que es un atributo que permite que el contenido se lleve a un lado u otro, derecha o izquierda, de modo que el contenido que viene a continuación se acople alrededor del elemento flotante. Es lo típico que se hace con imágenes donde el texto que hay a continuación rodea la imagen.
Sin embargo, el float no hace que los contenedores crezcan para ocupar todo el contenido flotante. Es decir, si tenemos un contendor con fondo de color y dentro tiene una imagen que flota a cualquier lado, y solo hay esta imagen, veremos que el contenedor no llega a abarcar toda la imagen, sino que se queda simplemente en la parte de arriba. Este es un efecto que generalmente es poco deseable.
Para contrarestarlo históricamente se viene haciendo uso del hack "clearfix", que consiste en colocar un elemento extra debajo del elemento flotante con un clear: both;
<section>
<img src="1.jpg">
<div class="clearfix">
</section>
img {
float: right;
}
.clearfix {
clear: both;
}
Otra técnica se trata de usar el overflow, como se puede ver en este artículo de solución al float.
Pero insisto, estas técnicas son un poco antiguas, pues ya no se suele usar float para maquetación CSS, ya que existe Flexbox y Grid Layout que mejoran mucho los comportamientos de los elementos y la facilidad de maquetación.