Yesterday I was reading Programming Windows 5th edition by Charles Petzold and he uses the line
WNDCLASS wndclass; // to declare his windows class

Today I was reading through theForger's Win32 Api (A simple window) and he uses the line:
WNDCLASSEX wndclass;

I noticed there was a difference in the first attribute set for WNDCLASSEX ie:
wc.cbSize = sizeof(WNDCLASSEX);

where as Petzold didn't feel the need to specify this attribute which I assume is used in case of future additions to WNDCLASSEX

My question is more general though, what are the differences between these two classes and when should I use either one?