The asterisk makes the CSS declaration invalid, so it will not be applied.
However due to a bug, some older IE versions (<= IE7) ignore the asterisk, so it's basically a way to easily apply styles to old IE versions.
So for example using *color:red; would make everything red in IE7 and below only.
Similarily, underscore prefixes apply to IE 6 and below, since IE7 fixed the underscore but not the asterisk.
*color:red; /* IE7 and below */
_color:blue; /* IE6 and below */
It's not really considered to be valid CSS, though.