Steps are intended to make automation much easier for novice users or for simple tasks where a script is unnecessary. Many of the functions available within scripts are also available to Steps, allowing you to perform pretty much any common functionality you need without having to know how to write scripts.
Most of the time, you will be using simple Steps to perform a single task and (I hope...) that is fairly self-explanatory. But you can certainly get quite advanced if you wish.
To control flow and allow you to work with variables, Steps use something called a stack to hold data from which you can pop (pull) or peek (leave) for subsequent use. See the stack help page for more details.