When a new software program (or version of a program) is in development, there are often several mistakes or 'bugs' that need to be found and ironed out. A program that is still in the stage where the original programmers are finding all the problems is said to be a development version. When they are finished, they then give the program to the company's own testing department; this is called the 'alpha' release.
After the testing department finds all the problems they can, the company will sometimes give the program to a few potential buyers as a pre-release, or 'beta' version. They do this on the assumption that people outside the company are likely to find problems that the company itself would never have thought of looking for, or might not have found because it only shows up on somebody's particular combination of hardware. After the selected end-users find all the problems they can, the company then ships the program as a final release.
The controlled release of beta software is beneficial both to the software company and to you, the users. The company gets an expansive testing environment for their program to make sure the product will work well for everybody, and the beta testers get to use software that is on the cutting edge of technology. Additionally, the software company will often provide the beta program at a fraction of the cost of the final release, and offer a discount to the testers when they upgrade to the final version.
Note that this does not mean all possible problems have been uncovered and solved, but it does insure that the great majority of people will have no difficulties. In fact, most people who use beta versions of software will find only minor or no bugs at all.