User actions provide optional tasks users can do as they work on a given case. Basically user actions allow users to leave the primary path of a case to complete an optional process as their discretion. The key here is that the user makes the choice to execute the action, as such the action is not executed as the result of an automated process.
For example, a customer gives you a new/update contact details while working on a case for a loan. There can be an "update contact info", user action to update the users contact details.
I think Glen explained it, but I will try to give a use case.
As a developer you can control when you would move to the next stage or step, by default we just automatically move forward in most cases. However, you might need to pause the process and wait for a specific action to move forward. An example of this might be a loan document, where we can process parts of the loan request but there comes a point where we need a specific action to move forward. So we get to the end and we are still waiting for a persons bank statements. So when the user attaches those statements, than we can process the loan. So we continued the process up to that point, but were halted by details of the process. Once those details are complete (the bank statements supplied, but were maybe requested in earlier steps) we move forward.
Also the way I see "Wait for a user action" in the General stage properties of the case designer allows you to change the stage transitions in the primary path from automatic to manual transition. When you select this option you will need to configure the transition to a different stage in the sequence of the case journey.
The way a manual transition works is it will follow the processes in the steps you have configured in that stage. You may use the Change Stage smart shape in a flow to configure the stage you want to execute next as Pega is not automatically going to the next stage in the primary path. In my view you should be using this option rarely, when for example the scenario does not warrant you to configure a primary path.