Personally I'd use drupal as a base for this kind of project. Wordpress is really designed for blogs whereas drupal is a front end for a database. It takes a bit of getting used to the structure and ways of working and theming can be a bit arduous but it has a lot of your requirements out of the box or from contributed modules.
Out of the box you already have:
A user database with basic user profile.
Comments module can easily be used for reviews.
Creation of a custom content type with the database fields for whatever it is you're wanting the users to review.
From contributed modules
Views will let you present aggregated feeds of content. https://drupal.org/project/views
Rate lets users rate the content https://drupal.org/project/rate
And loads of social networking modules https://drupal.org/node/206724
As for hosting, I absolutely love digital ocean. It's VPS hosting so you get complete control and at a very affordable price. Setting up apache/mysql really isn't that hard.