There are different motivations for building custom activities, so the answer to this question can depend on your perspective. Three possible motivations are:
Building reusable components
Extending Windows Workflow
Building a domain-specific language
We would never want the same five lines of code to appear twice in any application. Instead, we package reusable code into methods. In ASP.NET and Windows Forms applications, we would never want to drag‑and‑drop the same five controls into multiple forms. Instead, we write custom controls and reuse those controls in multiple forms. When change comes along (as it inevitably does), we can make a change in one place and see the change appear everywhere in an application, or even across multiple applications. We can reuse logic and code in Windows Workflow by building custom activities.
One way to build custom activities in Windows Workflow is through activity composition. We can compose custom activities...