Getting Someone Else In
Much of the literature on testing makes reference to the fact that an external tester has less emotional attachment to the software under test than the developer, will be more dispassionate in their evaluation of that software, and therefore will uncover more problems. The fact is that a developer can systematically test their own software, but the inclination to do so is often lacking (particularly as we tend to see writing code as the valuable thing we do, and everything else as overhead). Getting some form of external input, whether it's a third-party tester or a consultant to examine whether our own testing covered the relevant cases, is a valuable check on our work.
Notice that beta testers are not likely to provide such systematic reviews. Typically, a beta tester is an interested user who can be given access to the software for free while it's still under development. They are likely to approach testing in a random fashion, and to only use the parts...