I think if we look at the benefits of a progress bar then we can get a better understand of why and when it might be preferred over showing a list of steps.
It takes up less space in the UI
A simple progress bar helps to keep the UI minimal. This in turn helps incentivise the user as they will feel that there won't be much effort to complete the process. This logic is along the same lines as to why use a multi-step form in the first place - because it is off-putting to dump all the fields on screen at the same time.
It is easier for "non-techies" to understand
Ok, showing the steps isn't exactly rocket science level navigation. However, there are still plenty of people who have little-to-no experience with computers. Displaying steps to a user just adds an unnecessary extra layer on the UI that can distract them and take their focus away from what is important (filling in the form). The simpler the design is, the more appealing it will be to the average user.
It can help cover up a complex process
Take for example, a 20-step process. A short progress bar is certainly more appealing than seeing all 20 steps up front. When the main goal is to attract a user to complete something optional, this helps to convince them it won't take too much of their time.
Look at your screenshot for the first example. A user will think "Oh, all I have to is fill in this one field and get this little progress bar full. It won't take long". As opposed to "Urgh, 20 steps... no thanks, back to watching cat videos".
In your second example, the progress bar isn't even obvious until the second page. By then the user has already mentally committed to completing the process so is less likely to abandon once they see the progress.
It can be far more accurate
Depending on how you implement it, a progress bar can be much more accurate than showing the number of steps in most cases. Consider a 10-step process. Steps 1-9 only have 1 field each, whereas step 10 has 40 fields. If you only show the number of steps, then it is misleading as by step 10 the user will think they are nearly finished, when in reality they have only completed about 20%. With a progress bar you can be more accurate.
Of course, depending on what you are trying to achieve (for example, misleading the user). This point could easily go the other way and be a reason to prefer steps over a progress bar. It really comes down to your data and what you are trying to portray to the user.
People are weird!
(disclaimer: you probably don't want to actually use this point to make a decision)
Me. I am looking at me. I am a gamer, and when I see a progress bar, I want to fill it up! The achievement of getting that little bar to be completely full can make even the most mundane of tasks seem more motivating. Sure, I get that "steps" is basically just a progress bar with labels, but somehow it just isn't the same as seeing an empty bar that needs to be loved.
So why do we even have wizards that show the steps
For comparison, here are some reasons why it might be better to show steps.
- You can easily provide navigation back to other pages
- You can label the steps to give the user an idea of what kind of data you will be collecting
- You have more scope to provide visual feedback for each step and include extra information - such as a brief summary of the data entered in that step
- It makes a short process more obvious
Summary
In summary, it really depends on what message you are trying to send to the user. If there is no requirement for the user to be able to navigate back to previous pages (e.g. jump from page 6 to page 3) then it might better to keep it as simple as possible and use a progress bar.
If you have a lot a pages a progress bar is certainly going to be more appealing. Conversely if you have only 2 or 3 pages then showing the steps is an easy way to say "hey, this won't take much time at all".
So review your process, and choose the method that makes your forms more appealing to what you are trying to achieve.