Question: What's your prefered method to name your software releases?
Like Microsoft: alpha - beta - final - service pack...
Like Google: gmail beta - beta - beta - beta - :)
Like some softwares: 0.2 - 0.3 - 0.9999...

Answer: 
Major.Minor.Release.Build

While Release and Build increments should not contain "breaking changes" (for example have a different file format to store documents), i'm not absolutely sure if Minor releases are allowed to.

The meaning of the alpha, beta suffixes are for me:

Alpha/Preview: Hey, i got something that i want to show. 

Beta: The feature set is complete so far, but there are some bugs left.

Release Candidate: I think that there aren't any (major) bugs left.

Final: There could be still bugs, but i have to release at some point ;-).
I prefer the Linux kernel notation: major.minor.release.build, but i rarely use the .build part, and i don't use even/odd numbers for stable/development minors.