There's a good series of flowcharts on the low-level behaviour of the Windows XP DNS client here: http://technet.microsoft.com/en-us/library/bb457118.aspx
I'm not finding the same level of documentation for the Windows Vista and newer resolvers, though I'd expect that it's in the resource kit (since those get rev'd for each new release of Windows).
(I am simplifying this a little bit... you really should read the article if you want to know how it actually works because the logic is a bit complicated.)
The XP DNS client attempts each name resolution request through the primary DNS server specified on the primary network adapter first. If that times out (in one second) it attempts the same query on each adapter in the machine using the primary DNS server specified on each adapter, all at once, waiting 2 seconds for each response. If there's no response there then it sends out a request to all DNS servers specified on all adapters and waits 4 seconds. It does this again, waiting 8 seconds, and then returns timeout if it still hasn't received a response (and will continue to return timeout for the next 30 seconds w/o issuing any new queries).
I doubt the resolver has changed much in Vista and newer OS's, but there may be some minor differences.
Interestingly, the resource kit makes no mention of the behaviour that Squillman's linked KB article describes. I'd be willing to bet that it's an ommission on the part of the resource kit.