The first one is an old opera fix for the sticky footer:
It places a float at the top of the body and gives it 100% height and forces the browser to redraw the footer properly. It obviously triggers some new algorithm as otherwise the footer doesn't get redrawn when the window is moved upwards. It's a long standing bug in Opera but seems fixed in latest versions although it has been fixed and subsequently reappeared before so I always leave it in place. The negative margin just pulls the float out of the way to the maximum allowed.
The other pseudo class is a float clearing mechanism but is also needed for ie8 to function properly.
It just places generated content after the content in the element and clears it. Without it IE8 can also be stubborn to redraw the footer when the window is moved.
If you look in the css quiz you can read up on all the reasons as they were discovered and implemented.