It is a service to build application that coordinate work across distributed components.
You implement workers to perform tasks.
It is a good solution for human enabled workflows (like when human intervention is required - product order fullfillment system ) or when you need to launch child processes that return a result to a parent.
Besides very specific use cases, even AWS suggest using Step Functions over SWF.