Escrow services do exist, and usually one of the parties has more power over the transaction than the other. Either the buyer or the seller can cheat the other one out of their money or goods. How do you prove that the package didn’t just contain a heavy brick instead of the promised tablet? I‘m not convinced this can be solved by any kind of contract.
That's a big problem with "smart contract" systems. The "trustless" part only works if you stay within the smart contract system. About all you can do with that is speculate in various crypto items. The ties to the real world are weak. Yes, there are "oracles" for widely available non-controversial info, such as the DJIA. But how do you get an oracle for "house is complete as specified and is ready for occupancy"? Or "package was delivered and contained contents as ordered"?
In systems where transactions are reversable, such as credit cards, problems can be fixed up later. But with instant irreversible transactions, you don't have that feature.