Contrast with colored coins, where buy/sell orders are processed external to the platform - and so there is the risk that one or other party could renege.
Colored coins can be traded for bitcoin using a
single coinjoin TX.
If Bob wants to buy Alice's colored coins, they can write a single TX that spends Alice's colored coins to Bob and spends Bob's bitcoins to Alice. The transaction is only valid after they
both sign it. If either one of them successfully "double spends" one of the inputs, then the
entire transaction would be invalid. So either the trade happens or it doesn't.