We all have implemented business functionality in our software at one time or another. Business functionality covers any kind of programming that means translating knowledge that's specific to a business to the screen.
However when we do this, we are translating that business functionality into something that's very difficult for anyone but a programmer to see and maintain. We're quite literally "encoding" the process, and once it's encoded it often gets locked away forever.
The problem here is that those specializing in the business, the business specialists, can no longer see that business process. And that's a liability, and frankly a shame seeing as they're the experts in the business!
Workflow is the name given to a type of business process modelling that is easily accessible to those specializing in the business. It allows the model not only to be encoded into something the computer can understand, but it also allows the process to be ratified by those who understand the business better than they understand the computer.
So typically the primary feature of a workflow system is the workflow designer, which - to enhance the readability - is presented as a graphical flow-chart that can be edited interactively. No IDE here, just drag and drop flow charts that is as simple as creating a shopping list.
What also differentiates workflow from classic business algorithms is that workflow often represents processes that can run over a significantly long time, involving multiple user (human) interactions over a period that can sometimes be weeks.
While you could program these in C#, for example, you'd have to deal with a plurality of different situations including transactions, recovery, monitoring, resource maintenance, security, timeouts, and exception processing. Workflow engines handle all of this for you - all you have to do is specify the flow of the information and tell it what to do in case of an exception, without having to worry about detecting the exception or timeout itself.
For programmers, workflow may seem overly simplified and restrictive. But the advantages of being able to get the business specialists involved in the development process is a huge advantage to companies where there is usually a huge gap between development skills and business knowledge.