Alpha traditionally means a game has reached a playable state, although still missing a number of features. The term "pre-alpha" footage was often advertised as an indicator that the final product would look as good (if not better) upon coming to market. Since debacles like Aliens: Colonial Marines and Watch Dogs though pre-alpha can actual end up meaning the opposite.
Beta supposedly indicates when a game is more-or-less feature complete, but still requires work on code optimization, balance tweaking, graphical polish and most important of all bug squashing. I'm not a programmer by trade. That said, I understand that it's practically impossible to get the complex games of this day-and-age completely free of bugs and glitches. Still, companies really need to do a better job of distinguishing between "KS" (Known Shippable) and "YDTGDBMR" (Yo Dawg This Game Done Busted Mah Rig!). Simply put, if there's an issue that falls in the latter category the game really should not leave beta. Further adding to the obfuscation of the term is the fact that some early access titles will claim to have entered beta purely as a marketing ploy designed to increase hype for their product regardless of its actual state of development.