Use static routing, content based routing or itineraries to avoid using Orchestrations and use routing of failed messages for advance error handling since messaging doesn’t provide a rich error handling capability. This approach will give you the high performance of messaging and the power of the Orchestrations when necessary.
When a high volume of messages is going to be processed in BizTalk every cost is important, activating an Orchestration has a significant impact due to the additional Message Box hop and the Orchestration execution. In a lot of scenarios you cannot avoid Orchestrations, but in many cases you can avoid them by making use of the messaging capabilities such as routing or transformations in the ports. Another interesting aspect of this is that if something goes bad with simple messaging and you need the power of the Orchestrations you can still use them when combined with Routing of Failed Messages.