Another way of looking at this might be the following.
A lot of programming is based on inside->out, like modules that is one small part of your larger and wider-ranging application. You encapsulate the program of encrypting a file for example. It usually does one task, and does it right.
Frameworks mostly work from the outside in. That is, your application is primarily built INSIDE the framework, which attempts to provide as much
$stuff to complete your task. The functionality contained in the framework is potentially far more wide-ranging than the bits and pieces that you make yourself.
This can be a problem sometimes.
Workflow is much more a framework than a module. It not only provides a workflow engine, it also provides you a (practically) mandatory persistance mechanism, a standard logging mechanism, history functionality and so on and so forth.
If you want workflow functionality as just a bolt-on feature for a much larger application, it can be difficult to use a framework like
Workflow because it wants to be running the show and be the centre of attention. But until
Object::Workflow arrives, it's the only solution we've got.
So it generally depends what task you are doing. If you are doing something that primarily matches with what a framework does, then using the framework will save you a ton of time.