You can model service-oriented applications using either the process editor or the state machine editor. Here is some guidance on how to decide which one to use.
On the surface, both the process and state machine editors can be used to visually compose service-oriented applications, but it is the manner in which they use Web services that differentiate one editor from the other. Where both editors model a programming language where individual nodes are executed in a specific order, in business processes, the services are executed from the nodes themselves, and in state machines the services are executed either when entering, exiting, or moving between nodes.
In a business process, the nodes are called activities, and they tend to be ordered in a sequential and algorithmic manner. There are a small number of incoming events and they arrive in a predictable order. For instance, in the following example, a request is passed to the process, the process calls out to another service, waits for a response, and then sends a response back to the caller. Scattered throughout the process are a few activities which use web services to calculate some data, or loop.
In a state machine, the nodes are called states, and they tend to be organized in a "spaghetti-like" manner. As control moves from one state to another in the diagram, Web services can be invoked when entering, exiting, or moving between states. Once in that state, execution stops and waits for an appropriate incoming event, which typically arrive in larger numbers, and in an unpredictable order. For instance, in the following example, a request is passed to the state machine, it does something, and then it waits for another request. The path of execution in a state machine is not necessarily a direct one, and the business logic will often cycle back on itself.
Think of a business process as a series of sequential actions, and the state machine as a series of loosely related stages that are acted upon. If your application is very linear, then use a business process; if it is primarily event-driven and/or contains cyclical patterns, then use a state machine. Both editors, and the languages they model, are equally valid, and it is up to you to determine which one best suits your application design.