dfalken,
the main difference is that converse-on step does not affect call queuing status. when you use queue-to step, a call is placed in queue to specified split/skill. this way you can queue a call up to 3 skills simultaneously. when an agent in one of the skills becomes available, a call is removed from all queues and routed to this agent, causing agent's phone to ring. on the other hand, converse-on step "does not count" as an ordinary queue. though really it works just the same, it is secondary mechanism to the queue-to.
for example, if you place a call in queue to split 1 and then do converse-on split 2, switch will place a second call to split 2. when an extension in split 2 answers (and ordinarily it would answer faster than live agent, almost instantaneously, or it is a sign of huge overload on your ivr), the two calls merge in conference. first call call is not dropped from split 1's queue, it remains waiting for an agent. meantime, ivr will get its parameters that you pass to it using converse-on step and will perform some activity, playing announcements and so on. when an agent in split 1 becomes available, second call will be dropped immediately and first (customer's) call proceeds to an agent.