I recently had some pain where a fellow developer’s changes were not present on the website after getting latest from source control and doing a build.
The changes were in a separate project, which the website referenced. Therefore the project changes were built into a DLL.
Even though the build supposedly updated this DLL, I found that the website would still be running the old version when I fired it up.
It turns out that IIS may have been holding onto the file, as running the iisreset command in Command Prompt allowed the new version to come through.