Related: How to Scan for (and Fix) Corrupt System Files in Windows An update to one DLL in a package is often accompanies by updates to other, related DLLs in the same package, meaning that even in the unlikely event you do get an up to date DLL file, you won't get related files that have also been updated. There's also the further problem that DLLs are usually integrated into packages. Add to this that vendors don't typically release updated DLLs to the public as individual files, and you can see that even sites who try to keep files up to date aren't likely to be very successful. Most of these sites just want your traffic, and once a DLL is uploaded, they have little incentive to ensure that the file is kept up to date. You can probably see the problem already.
Many of the DLLs sites out there get their DLLs by just uploading them from their own-or their users'-computers. The most common problem you'll run into with downloaded DLLs is that they are outdated. So, with a little understanding of DLLs under our belts, why not download them from the Internet when one is missing from your system?