No, its more like your GPS says 5 minutes, then an hour, then 5 minutes, then an hour, when you know both can't be right. Telling me 22 and taking 35 is pretty fair, especially if it revises its time to get closer to 35 as you go.
There's no reason why it shouldn't attempt to do a quick inventory of all the processes necessary, the size of all files involved, and compare that to the general rate of copy/delete/whatever. Its the same thing your gps does, its averages your speed and calculates time, based on the total distance.
Many current status bars (windows) just use the current file, and so if that one file is really big, it assumes they're all big, or if that one file is really small, it assumes they're all small, which gives it wildly off values. Other OS (OSX) do a full inventory of all files to be copied / installed first, so that the progress bar is far more accurate and doesn't spastically jump back and forth.
But you could go even further, do like the GPS does, and keep a database of users and their past progress and times. They could record user install times based on the hardware, MS could just collect your DxDiag file and the time taken to install, and then when you go to install it just finds the nearest hardware profile and guesses that you're going to take about as long. Boom.