I'm developing a simple NFT marketplace where people can connect their own collections (each one having its own smart contract) and put those collection's NFTs for sale.
I saw a tutorial where the NFTs never leave the owner's hands when being listed for sale, and when the selling is done, the transfer happens between seller and buyer directly. Of course the seller has to approve the marketplace as an operator beforehand.
However, I saw another tutorial where the seller transfer the NFT to the marketplace at the moment of listing, and then when another person buys the NFT, the marketplace transfers it to the buyer. This requires no "approval" of the marketplace from the seller I suppose.
What are the pros and cons of each approach? Which is the more common one?