Can Drupal Webform Integration update matching contacts
By default the Webform-CiviCRM module uses the default "Unsupervised" rule from CiviCRM to determine if an unknown contact is already in your database. If this is not happening for you, check your rule's criteria.

And as of v4.11 you can now specify the matching rule per contact.

You'll find this new option just under the "Contact Fields":



The help text says:


  This determines how an unknown contact will be handled when the
  webform is submitted.
  
  
  Select the "Default Unsupervised" rule for the
  same duplicate matching used by CiviCRM event registration &amp;
  contribution forms.
  Select a specific rule to customize how matching
  is performed.
  Or select "- None -" to always create a new contact.
  
  
  Note: Matching rules are only used if the contact is not already
  selected via "Existing Contact" field.