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 ;-).
Microsoft uses version numbering as well as the alpha, beta, GA monikers. 

I think version naming depends a lot on what you're trying to accomplish. If you're releasing something for consumption and aren't trying to collect data from a beta period, don't call it beta. If you're not trying to preview the technology, don't call it alpha.

I work mostly with web apps at present, and we just number our versions as incrementing integers by when we deploy (1, 2, 3, 4, 5, etc.). There's no reason to have to get into complicated naming logic if no one cares about the versions anyway.