It's a work in progress, an almost-but-not-quite finished program..
It refers to a program which is working well, but isn't finished and which may well still have bugs in it or which will have a further revamp before being released as a full version. Betas will be available for people to download and run in the hope that anyone using it will send in reports about any problems or bugs found so that they can be corrected before the program is officially released.
Some code can be so complex that it needs a lot of testing. And with so many different combinations of kit and software on computers, releasing a beta gives you the chance to get your code tested on a lot of different setups, and increases the chances of any problems with the code being found.
And now, someone else will be along shortly to give you a much better explanation !