I was asked recently the difference between a plugin and a workflow and when it was best to use either. At the time I was asked my mind went blank and I wasn’t sure. In my mind they are both similar, so I set out to find out what the difference was. The main difference I could think of was a workflow is asynchronous and it can fire off child workflows.
there was a good article about workflows and plugins for CRM 4 which you can read here
but then Gonzalo Ruiz has recently updated this and added in some dialog information as well, this is one of many great blog entries he has written recently