That totally depends on the product and the receptivity of your early adopters. I've done both and in some cases, even have no beta, but have beta [test] clients, with a view to building the technology as a co-production with their help. This means extensive, micro-Lean Startup activity which continually creates features and enhancements.
A beta can be useful for a pipeline here. So your beta clients are early adopters and this stuff then goes into mainstream use after a while. Facebook does this and so do Hootsuite.
If you're launching a SaaS and assuming it'll be a paid service, you can do a beta launch, being explicit that you'll either give free service or a reduced price in exchange for feedback.
When you've collected enough feedback and ensured your product works perfectly, then you can do a general launch with normal pricing.