This is caused by Plug and Play ranking. For the most part, Windows
Update tries to emulate the ranking that PnP would use when selecting a
driver (there are a couple items WU does not take into account).
With WU ranking, a more specific hardwareID will always be preferred over
a lesser specific hardwareID. This is based on the PnP assumption that a
driver that is more specific to your device will always be a better match
than a lesser specific hardwareID (regardless of the version).
So take my NVIDIA display adapter:
PCI\VEN_10DE&DEV_0193&SUBSYS_042010DE&REV_A2
PCI\VEN_10DE&DEV_0193&SUBSYS_042010DE
PCI\VEN_10DE&DEV_0193&CC_030000
PCI\VEN_10DE&DEV_0193&CC_0300
PCI\VEN_10DE&DEV_0193&REV_A2
PCI\VEN_10DE&DEV_0193
PCI\VEN_10DE&CC_030000
PCI\VEN_10DE&CC_0300
PCI\VEN_10DE
PCI\CC_030000
PCI\CC_0300
In this case, the PCI.SYS bus driver is responsible for building this list
of hardwareIDs. This list is sorted from most specific to least specific.
NVIDIA only posts two part PCI hardwareID matches to their website
(PCI\VEN_xxxx&DEV_yyyy). In order for an OEM to push a driver to WU, they
must use a four part PCI hardwareID
(PCI\VEN_xxxx&DEV_yyyy&SUBSYS_yyyyxxxx).
So if you pull down a driver from NVIDIA.COM, and later scan your machine
on WU, WU will think it has a better matching driver (even though the WU
driver may be older).
You can find more about PnP Ranking here:
http://msdn.microsoft.com/en-us/library/aa477022.aspx