With regards to reviews, why not display the review entry form/options too all visitors, logged in and not.
Then, upon posting the review, if not logged in, ask the user to create an account while retaining their review information and the listing it is related to.
I guarantee this method will garner more reviews because people will have already invested their time in writing the review before learning that they must be logged in to do so. Sure, a percentage will leave before creating an account – but more people will create accounts.
I’ve had 98k+ visitors in the past 30 days and nobody has added a review. My old system did it the other way and I would expect to have had 100-200 reviews with it and the same traffic.