If you've visited any cool Facebook pages recently, you'll probably have landed on a special tab within the page offering a juicy incentive to 'Like' the page.
Once you do that, you'll be thanked with another page and then rewarded for your good deed.
In short, the page knows if you've 'Liked' it and shows you different content accordingly. This is called a 'Like-gate' or 'Fan-gate'.
Incentives can range from free content to competitions and discounts. Obviously the trick here is to use a mechanism that justifies collecting their name and email address. This is why competitions are effective. People associate giving their name and email address with entering a competition (how else would they expect to be notified of winning?) so won't mind doing so after 'Liking' your page.
Here are some possible ideas to get you started:
The idea with a 'Like-gate' page is that you only need to show the visitor the competition signup page once they've clicked the 'Like' button - this makes the whole thing much more like a reward and far less daunting. The Facebook technology that allows this to happen is what makes the approach so effective.
What you're effectively doing is making the competition exclusive, i.e only to people who've 'Liked' the page, but also effectively only once they give you their email address.
The great thing is that Facebook lets you set this tab as the default 'landing tab' for new visitors to your page, so your competition, or other incentive, can be the first thing your visitors see.
Remember this is a simple case of effort and reward. You should ensure the reward outweighs the effort it takes to click the 'like' button (and enter their email address).
You might be wondering how to set this up on your own Facebook page. The problem is, it's pretty tricky. There are some 'apps' you can use (many are subscription-based) but if you want to come up with something that looks totally branded, and exactly what you're after, you'll probably need to enlist a web developer to build the tab for you.