Thank you, Louis!
Regarding Flows for APEX, in most use cases, it is my recommended technology for BPM projects within APEX.
I am undoubtedly biased towards PL/SQL compared to Java-based solutions, but that should not be taken as an argument since it is a consequence of my (lack) of knowledge. However, Flows for APEX supports BPMN (unlike APEX Workflow), is cheaper than BPM Suite (or even free), and offers the possibility to embed the workflow designer screen directly into the APEX application (so it can create a seamless experience even for business users).