This post was most recently updated on December 28th, 2016
Before jumping on to what is reset.css, try this little demo. Open the link in different browsers and observe the difference.
You can see that there are 5 tags with font-color, size and background color are defined in the file, no other CSS is applied except the inline one. Still you see a margin and padding applied to the elements. Also there is a difference between Mozilla Firefox and Chrome with the thin line that you can see between anchor, span and article tag.
So there is some default CSS that is applied to elements. If we continue designing pages not considering the default CSS that gets applied our designs, then we are bound to tear our hair trying to adjust it across browsers. Instead if we remove these default CSS all that remains is purely the CSS that we apply. So here comes the use of reset CSS.
One that I personally use and recommend is the famous Meyers Rest CSS. It helps clear all the default CSS applied by browsers.