Why don’t CSS resets use ‘*’ to cover all elements?
You’ve guessed correctly – the reason is form elements. If you set border: 0 on for example an input, it will lose the native styling. For example: http://jsfiddle.net/nrB6N/ And, there’s no way to get that default styling back.