It all depend on what you call a smart contract.
My broad vision of a smart contract is some operations that executes as agreed between parties in a verifiable way .
In Stellar, you can have 3 different "layers" of smart contracts:
- tx level: a set of operations bundled in a single transaction: either all operations will work, either they will all fail. So the transaction will execute in a predictable and agreed way.
- account level: an account that is configured to act with a special scenario : multisig account, time locked account, tx locked account, ...
- off chain: you can implement a very complicated smart contract (with API calls, or whatever) that runs outside the blockchain, but that controls a single, or several accounts, in a pre defined way. You can publish the code if you wish to get the trust of your partners. But even without so, every action of the contract is written to the blockchain, so there is always a post checking that the smart contract did not cheat. Of course, you can implement a second smart contract (done by another party) that will have just one job : check every single transaction of the initial smart contract and act accordingly if the first smart contract cheated (like penalties, withdrawing fund, sending a wicked transaction, .... whatever). That way : you know that the first smart contract will just do the right job.
Advantage over Ethereum type of on-chain smart contracts: gas price, no need to set up or rely on some expensive Oracle.
Here you will say: yeah, but I can trust Ethereum's on-chain smart contracts more, because they are on-chain. WRONG !!! Most Ethereum smart contracts are upgradable, so cheating with an Ethereum smart contract is just a matter of upgrading it, and changing the code in it.
How about non-upgradable smart contract? Yeah, you can trust those, but you can also trust them to lock you inside a logic that will never evolve. In the world we live in, building an application on a logic that is locked for ever is like shipping your software inside a founded chip: this is not software anymore, this is hardware (with no firmware to upgrade).
Every smart contract on Ethereum should be upgradable, but then, is gets no more to be trusted than any off-chain smart contract.