Usually you would need to show, hide or make certain fields because of the sensitivity of the data. Also, you might want to make certain fields mandatory in certain stages of the workflow. This is where you will do that.
For each stage in the workflow you can decide whether to make a field,
Visible to all users
Read only for all users
Hidden for all users
Visible, Read only or Hidden to a set of users
Additionally, for each stage you can mark a field as mandatory. In such a scenario, user will not be able to proceed without filling that field.