Someone in one of the start-up groups that I'm a member of recently asked for tips on launching their product. I'm a fervent believer not launching. Here's why:
My advice is don't "launch." Launching sets the expectation that you are going to put your product out there, do a big push for users, and then be done. In reality you're going to constantly be doing customer acquisition and product development.
Instead, release your product to 100 users. Get their feedback, talk to them all individually (in person) if possible. Tweak the product based on their feedback and then release to 200 more. Continue until 75% of your most recent group of users can sign up and use your product and experience the value of what you've built without any assistance from you or your team. Then open it up to everyone.
For my start-up we did very well with our initial user acquisition from targeted subreddits for our niche (/r/web_design, /r/webdev, /r/startups, etc). Do some research into where your target audience is talking about the subject matter online. Become a contributing member of the community before trying to push your product. People will notice and respect you more for it. Reddit is a good place to start, but there might be even better communities that exist.
To get that initial group of people I asked people I met at events in Austin if they'd have 10 minutes to run through the sign up process and chat about how they understood my product. I tried both calling and emailing. I got a slightly better response rate from emailing. I'd also recommend a service like Zopim for live chat, which was quite successful for us. Another service that was useful in the beginning was usertesting.com - especially if you're having a hard time getting in touch with people. The mistakes that people will make while using your product will make you cringe, but that's the point. Figure out what they are doing wrong, and then fix your product so that there's no possible way for them to make that mistake.