Business Process Model and Notation (BPMN) is a graphical representation for
specifying business processes in a business process model.
allows to represent BPMN diagrams in code and make it executable.
Unlike Finite state machine based workflow, BPMN allows parallel task execution, and suitable to model real person collaboration patterns.
As any programming language, BPMN has own best and worst practices. Knowing right coding style, helps to implement working solution.
From a software developer point of view - viewflow.workflow is the thin code layer on top of standard django Model/View/Template. Viewflow extracts workflow logic out of CRUD views, allows to compose and reuse views code over different workflows.