How to monitor comment / reviews? What is the best way to set up a page on which people could leave reviews, stories etc (I guess like on Yelp?). It would be a bonus if they could upload images, and or it used gravatars etc.

Additionally, we would need to monitor these posts, where the admin would be notified and then could approve them before they appear on the front end.
Drupal ships with that functionality you are describing out of the box, I mean the comments entity. Can be administered -approved, published, deleted etc- under admin/content/comment and are fieldable (admin/structure/types/manage/%node-type/comment/fields) and themable (admin/structure/types/manage/%node-type/comment/display).

Don't forget the comment's API