Registering for the community is a meaningless act.
Getting someone in the mindset to participate is what matters.
You get someone in the mindset by guiding them to something they find interesting and then finding a trigger to get them to participate.
Providing incentives for registration achieves nothing. It might look good to say 10,000 members joined, but you're no further towards your goal than you were before.
Hiding content behind registration just limits the likelihood of people finding something they want to participate in.
You only want people to register for your community when they're ready to participate.
Until then let them read everything they can. Let and encourage members to browse and peruse at your leisure. Identify the most popular search terms and ensure that related discussions appear on a page to newcomers (i.e. here are some discussions you might find interesting...)
Let visitors become experts in the topic before they join. Then solicit opinions and ask for their views at the bottom of discussions. Don't encourage members to register unless they're ready to participate. Once they are guide them towards an active discussions as soon as possible.
A fully open community is the best marketing tool your community has. The quantity, quality, and the people participating in your community is what will encourage other members to participate.
Unless there is a clear reason to hide it (e.g. in an exclusive community), then make open up everything and encourage members to share content and discussions far and wide.