Arguably the biggest limitation on using SPD to create workflows is that the workflows you develop cannot be applied to other lists. They are attached directly to the list you are working with. So, if you want the same functionality on another list, you have to create the workflow again on that list, and so on.
Visual Studio provides more control and flexibility when designing workflows, but that power comes as the cost of increased complexity for both development and deployment. In addition, you will have to touch the server installation in order to get your DLL on the server and installed into the Global Assembly Cache (GAC).
There are a couple of prerequisites before you start developing your workflows in Visual Studio. The first is that you want to make sure that you have the Workflow Extensions for Visual Studio 2005 installed on your development machine. This will provide you with the workflow project types and the workflow designer in Visual Studio. Next, depending on whether you are running WSS or MOSS, you will want either the WSS Workflow Developer Starter Kit or the Enterprise Content Management Starter Kit.
The WSS kit includes the Visual Studio templates for building SharePoint workflows and some samples. The ECM kit adds some useful whitepapers, more detailed samples and covers more technologies than just workflows, including records management, encryption, and information rights management. The ECM Starter ...