I understand that Microsoft uses this template when versioning their products: Major.Minor.Build.Revision.
Major is changed when the "developers" want to show that there is a big change in the software and backward compatibility cannot be assumed. Maybe a major rewrite of the code is done.
Minor number represents a significant enhancement with the intention of backward compatibility.
Build number is a small change, for example a recompilation of the same source.
Revision is used to fix a security hole and should be fully interchangeable. Both Build and Revision are optional. This information is based on MSDN Version Class.
How do you version your projects and why do you version them this way?