I've recently made some tests about Visual Workflow and Flow Cloud Designer, for flows creation. Now I'm wondering about a "philosophical" doubt, that is : for example, I'd like to have a custom button on a standard obj's detail page that performs some operations and return the same detail page (for example, a button on opportunity record detail page that create an order based on opportunity products). So, I could reach my goal by calling Apex from a VF page related to the button. But also, I could create a flow that makes the same operation . Now, which of the 2 options would you choose?
This question highly depends on the context (what level of customization is needed? how fast do you want it done? Who will have to maintain it?)
However consider the following:
- very easy to build and maintain, given that you need not too complex operations
- processes easily explained to the business
- works as a charm combined with Processes, easily replacing trigger necessity
- faster than developing code
- no need for developers
- still able to use apex by plugins or apex calls (the latter available from Spring '15
- very limited debugging options. When facing more complex operations it can be a pain to find issues
- obviously not as flexible as code.
- limited styling options.
Hope this helps you!