Input for a workflow can be of two types. One is Initiation form that is for data collected before the workflow is started. Another is the input form that is requested during the flow, something like task form which can be created within the workflow.
1. You can create your forms by using custom application pages, which are standard .aspx pages deployed to run out of the _layouts directory. ( disadv: lot of code required when compared to Infopath approach) 2. Using Microsoft Office InfoPath 2007 (disadv: picks up a dependenct on MOSS, i.e. it cannot run in a standalone WSS environment)