As @RossRidge said though if an update is released while you're downloading that can cause the already-downloaded-but-not-finished data to be invalidated. This is because the downloaded data is not applied immediately after unpacking it; Steam stores it and finishes the entire download and unpacking process, and then moves it into place which also bumps up your local version number in the process.
Downloads seem to be able to last indefinitely though, including through uninstalling/reinstalling Steam when handled properly. I just reinstalled the Steam client recently and still had multiple partially-finished downloads that were able to finish with no problem. I also regularly move downloaded/partially downloaded games between Wine installations (via Wineskin wrappers) and am able to finish them later with minimal/no data loss.
Also, Steam downloads updates in compressed chunks and doesn't always fit a full file in one chunk, so if there are a lot of large files the previously-downloaded data would likely be considered invalid because it would be harder to figure out what parts of the file are missing (either by uploading your local copy or downloading the new copy) than it is to just download a fresh copy and get it over with.