Clearfix and pseudo element

Is it really necessary to use a pseudo element in this case? I thought “clear: both” was sufficient.

Link to content: CSS Master, 3rd Edition - Section 5

Apply clear: both to what?
You will need an element to add that property to. Using an empty pseudo element is the perfect way to add an element, without actually adding an element, if that makes sense.
Clearing the container or the float itself won’t work.