Expressions in DCWorkflow are TALES expressions. See TALES Overview for general TALES information. They are used as access guards and for the setting variable values.
[Note: I haven't figured out what all these contexts actually are and what you can use them for. Explanations are is welcome!]
Some of the contexts have slightly different meanings from what is provided for expressions in page templates:
herecontainer -- The content object's containerSeveral other contexts are also provided:
state_changetransition -- The transition object being executed
  status -- The former status
  workflow -- The workflow definition object
  scripts -- The scripts in the workflow definition object state_change objects provide the following attributes, some of which
 are duplicates of the above information:
status is a mapping containing the workflow status. This
   includes all the variables defined in the variable tab with "store
   in state" checked.object is the object being modified by workflow.
     (Same as the here variable above.)workflow is the workflow definition object.  (Same as the
   workflow variable above.)transition is the transition object being executed.  (Same
   as the transition variable above.)old_state is the former state object.  The name of the former state,
   for example "published", is available as old_state.getId().  (Note
   that DCWorkflow defines state and status as different entities;
   the name of the current state is stored in the status.  The word
   clash is unfortunate; patches welcome.)new_state is the destination state object.  Use new_state.getId()
   to access the new state name.kwargs is the keyword arguments passed to the doActionFor() method.getHistory(), a method that returns a copy of the object's workflow
   history.getPortal(), which returns the root of the portal.ObjectDeleted and ObjectMoved, exceptions that can be raised by
   scripts to indicate to the workflow that an object has been moved or
   deleted.getDateTime is a method that returns the DateTime of the transition.