There is also, another, subsequent, utilization of the clear CSS property.
If all the child nodes of a parent are floated, they get out of their parent's flow, thus the parent loses its so called hasLayout property. The visual effect is that the parent seems to become empty, without any height (if no default is set), as it would not be the container of its child nodes any more.
One of the solution to solve that is to insert an empty, cleared, element, as a last child of that parent
It is not the only solve, but this might help you to understand how the float and clear CSS properties work.