Not all operations are linear. And most operations aren’t predictable as to when they will be done particularly if they are complex. For instance, if your computer is to copy 1000 files, there is not a constant rate of file transfer. Some files may take a second to transfer, others may take 10 seconds, others may take much longer. A lot of these “progress” symbols use a very cheap but fast way to just provide you feedback in regards to “I’m working, I’m _this_ far” – but it’s not linear. Having taken 5 minutes to go 50% doesn’t mean there’s 5 minutes left. There’s no way to predict how fast a file is copied – it depends on a lot of things, not just size. And the programmer never set out to tell you how long an operation would take to begin with.
Latest Answers