This. The guessing part comes from the time it takes to do the tasks, but you know the number of tasks. So a progress bar should only reach 100% when all the tasks are completed.
For example, you might have a big process that performs 3 other small tasks and then finishes. You could reasonably assume that each small task is 33% of the big process, so after the first finishes you get 33% progress, then 66% after the second and 100% after the third. When the bar reaches 100%, the third task has finished, so your process has finished too.
What you don’t know is how much time each small task takes, so if the first task needs 20 seconds and the following tasks take just 5, you’ll spend 2/3 of the time on the first 33% of the progress bar, and then the remaining 66% gets done in 1/3 of the time.