In WF4.0, data can be passed to workflows through multiple mechanisms. InArguments are the primary way to pass input data when starting a workflow or invoking an activity. Bookmark resumption is another mechanism that allows passing data when resuming a paused workflow from a bookmark. Both methods are valid and serve different scenarios.