"Nothing is good or bad, but thinking makes it so"
Floats... very handy, but also troublesome as floated elements, for example, can overflow their container unless you do something ("clear" it or trigger haslayout etc).
Floats can change things in ways that may not be expected: an element that is "display:inline" but is floated computes margins and padding as if it were "display:block"
A great resource on floats is this:
On the relationship between float and inline-block, see
slide 25 - display: inline-block triggers a block formatting context (BFC)
slides 49-52 cover "floats versus inline-block"