They are simply the different versions of CSS. Currently CSS2 is the latest officially released version of CSS, and is what should be generally used. CSS3 is the newest version of CSS, but is still being made. Some properties from CSS3 are supported but very few.
No, you would use the .css file extension for all of them.