Recommend nodes based on current node field value in view block
There is a module for that: Similar by Terms

However, it's possible with views as well: Creating list of similar nodes in Drupal 7/Views 3

Alternatively, you can use my configuration:

An example of view block with related nodes based on 'tags'.


Create a block (take a look at screenshots below)
Add a relationship: Taxonomy term: Content using: Tags
Add contextual filter: (field_tags) Content: Nid
When the filter value is NOT available
Provide default value -> Content ID from URL
MORE
check: Exclude
this contextual filter will remove current node from the view
Add contextual filter: Taxonomy term: Term ID
When the filter value is NOT available
Provide default value -> Taxonomy term ID from URL
check: Load default filter from term page 
check: Load default filter from node page, that's good for related taxonomy blocks
choose the vocabulary (tags in this case)
Multiple-value handling -> Filter to items that share any term
When the filter value IS available or a default is provided
Specify validation criteria  -> Basic validation
MORE
check:  Allow multiple values 
Define the fields (only titles in this case)
Make the view display only distinct items
Other -> Query settings:
check: Distinct
check: Pure distinct




Screenshots: