I may be rehashing what most posters here have already pointed out in different ways, but it comes down to the fact that we can't predict the future. PCs in general allow arbitrarily defined operations to happen (copy a folder from A to B, with unpredictable contents, hardware timings, available operating system resources, etc). Added to this problem is one of interpretation: what KIND of progress does the bar measure? Is it time, disk space, ordered task number, or what? All of the above?
Suppose I make a progress bar that measures the time until nuclear winter? We call that the Doomsday clock (and yes, progress bars CAN go backwards, my fellow slashdotters). Is it accurate? No one knows, and I hope we never find out.
But lets say that we only want a progress bar that measures time to completion. I actually like the file-copy progress bars in Windows 7. I think they finally got it right. The underlying hardware will vary in its speed, so the progress bar cannot inerrantly give estimated time to completion. But it does give enough information to satisfy me while I wait. I see the current MB/s of data transfer, the approximate time remaining (and data remaining), and a bar that shows how much of the data has been moved so far compared to the total amount of data to move. Not perfect by any means, but I am satisfied to wait. And that's the whole reason you have a progress bar in the first place.