If simple block preconditioning strategies like the stokes-iterative is sufficient
for your needs, then you don't need cbc.block.
However, cbc.block has far more advanced capabilities because you can
compose expression tree for the composed operators, see chap 35 of the
FEniCS book. For many mixed problems, e.g. Navier-Stokes equations, this is essential.
cbc.block is currently tied to Trilinos but it could probably easily be extended
to PETSc given that they now have a mature Python interface. The interface
to Trilinos (see the trilinos directory) is small and a similar to
PETSc is feasible to implement if needed.
cbc.block is actively maintained and used, but rely on some assembly code in dolfin that
changes once in a while. Other than that it is very stable.