Here is the system we use for our Windows software:
-----------
Alpha: All code that is in development. Doesn't matter if it's 1 line of code or 1 million lines of code - it's Alpha. We don't have "Alpha 1", "Alpha 2", etc, we just increment the build number each time the program is built.
Beta: The program is feature complete and ready for inital testing. At this stage we may add/remove features based on feedback. Beta releases ae generally scheduled on a 5 day release cycle.
Release Candidate: This is the finished product that is passed to the company for user acceptance. Assuming no show-stopping bugs or problems are found, the -signoff release comes shortly after.
-----------
For those wondering about the short beta cycle, I should explain that our software is very specilized

In broad terms, we make Windows software work nicely together. For example, a company may want their 10 year old sales system to integrate with their shiney new CRM system, we make this happen (well, we try

). The reaosn for the short beta cycles is because the company we are working with will usually have / provide dedicated staff to do the testing and we are on-site with them so bugs are resolved much quicker
Alan