VXML Pros
1. A more universal and well established standard.
2. Less proprietary so there are more abundant choices in VXML interpreters/speech servers.
3. Can be written based on J2EE or .NET.
4. Because it’s XML, tools abound for authoring XML and are quite good in Visual Studios.
VXML Cons
1. Development tools although abundant for XML, are not necessarily well established to debug voice apps with grammars and the like.
2. I believe there is a longer development cycle but I guess familiarity with VXML, the development tools and other factors can affect development life cycle. Since I am woefully lacking in VXML development experience I could be persuaded otherwise.
3. Both client side (javascript) and server side (Java, C# or VB.NET) code is necessary. Development is more of a web development paradigm.
OCS Speech Workflow Pros
1. Because speech applications tend to be rather linear in their execution, speech apps lend themselves quite well to workflow.
2. Very good tools for writing and debugging within Visual Studios.
3. A graphical development environment for both dragging and dropping call flow and seeing the call flow.
4. Very little client if any client side code is necessary to develop speech apps.
5. Much of the .Net Speech library applies equally well to Vista desktop speech development but I am not sure how big of a deal this is when you are only concerned about IVR development unless you are looking to have a skill set outside IVRs.
OCS Speech Workflow Cons
1. Very proprietary. You must write on Microsoft tools for Microsoft Speech Server.
2. Very young technology and to some extend not very well supported, even by Microsoft, although that is improving. Be prepared to plow new paths without much documentation.
3. If you are not a .NET developer, you will have a steeper learning curve to get used to the development tools and .NET in general. Even if you have written Speech Server 1.1 SDK apps, there is a large shift in the way you develop IVR apps.
4. Its in .NET. Although for me I don't consider this a negative, others, especially those J2EE die hards would consider it a negative.
And what about SALT?
All the same pros and cons (although documentation is more plentiful.) for workflow except two additional CONs…
1. Microsoft seems to be moving away from the SALT as a standard.
2. Salt can be tedious since much of the development requires client side, javascript, development.