Look how odd is the following scenario:
<DataGrid.Columns>
  <!--Doesn't work-->
  <DataGridComboBoxColumn
    Header="Vendor"
    ItemsSource="{Binding Vendors}"
    SelectedItemBinding="{Binding Vendor, 
    UpdateSourceTrigger=PropertyChanged}" 
    DisplayMemberPath="Contact.Title"/>
  <!--Works-->
  <DataGridTemplateColumn Header="Vendor">
    <DataGridTemplateColumn.CellTemplate>
      <DataTemplate>
        <TextBlock DataContext="{Binding Vendor}"
          Text="{Binding Contact.Title}"/>
      </DataTemplate>
    </DataGridTemplateColumn.CellTemplate>
    <DataGridTemplateColumn.CellEditingTemplate>
      <DataTemplate>
        <ComboBox ItemsSource="{Binding Vendors}"
          SelectedItem="{Binding Vendor, UpdateSourceTrigger=PropertyChanged}"
          DisplayMemberPath="Contact.Title"/>
      </DataTemplate>
    </DataGridTemplateColumn.CellEditingTemplate>
  </DataGridTemplateColumn>
</DataGrid.Columns>