Transactions on any chain are pretty much public except for privacy coins like XMR.
When you shield crypto with Incognito what you are actually doing is sending your crypto to an Incognito owned address. This is a public transaction. However, once this happens, incognito gives your incognito wallet pVersions of your coin. This is private, and no one knows who owns those pVersions. Sending and trading pVersions of a coin on the incognito network is completely anonymous. If you want to redeem your pVersions back to the actual crypto, you unshield. Unshielding is also a public process, however the orgins of the coins are unknown. If you shield a specific amount and then quickly unshield the same amount, it’s quite obvious that the coins are from the same person. However if you shield some coins, and slowly unshield different amounts, it’s much harder to figure out whose coins those were. Especially if you unshield diffrent crypto then you originally put in via trading.
That being said, all the coins that you can put into the Incognito network can be sold on Incognito. For example uniswap is integrated into Incognito so that covers all ERC-20 based coins. BTC, ETH, XMR, etc all have markets on Incognito. If there is no market, you can provide liquidity and create one.
Also the anonymity assumes that you are not the only person using that coin. For example if you shield an obscure ERC-20 token, and your the only one who put that coin in the network, then if you unshield, all those ERC-20 tokens are going to have a history connected to your account. However if you sell the ERC-20 tokens on the Incognito network, you can unshield a diffrent crypto like BTC and that would not be linked to you.