As the Post in Custom WorkFlows vs Plug-ins in MS CRM seems to be a little outdated, i can share my experieces with you.
Workflows:
- Contains certain Logic you provide by only "clicking" on the actions
you want to be made (Like Update, Create, etc.)
- Can be run "onDemand"
- Can often be handled by KeyUsers and do not need an explicit developer
- Should not be used for complicated logic as the iterface often does not provide the possibility to add additional logic afterwards
- If used for complicated logic (as statened above), refaktoring or changes are often very hard to integrate!
- In current Cloud organisations you get the Information that you SHOULD not use these anymore, but to swith to MS Flow. (VERY IMPORTANT!!)
Plugins:
- Custom Code - so you can provide very complicated or also simple server-side logic
- You need a(n experienced) developer
- Can perform faster than workflows!
- nearly everything you can do with a Workflow can be done by a Plugin (or job) but not visa-vera
- You have the possibility to trigger the plugin as well as hand in Data (Parameters!) as you can create your own "Messages" (With this i mean you do not only use Update, Delete and Create, etc. as Messages for Plugins, but you can define your own Message Steps by creating "Actions" in the Prozess Section in your Dynamics Organization. There you can define Input- AND Outputparameters. These custom Messages can be also triggered on demand!!! For instance by using javascript. Guid how to use/create custom Messages (Actions))
In my experience Plugins are mostly the better suited solution if you have (even a little) complicated matter, as workflows are far less maintainable. Simple "1 Liners" can often be replaced by workflows.
Nevertheless each developer/consultant has to suggest his own way for the improvement/developmet of his/her organization.
@Community: Feel free to correct me, if i am wrong anywhere or if you have different experiences.