You can create and list your NFTs without any coding using OpenSea or you can create and put it on OpenSea using solidity code (smart contracts, ERC-721, or ERC-1155). Why would anyone want to deal with the coding when there is an easy UI? To be more specific: What are the advantages to choose one over another?
It's a trade-off between customizability and ease of use. If you just want to list some NFT using Opensea's contract, you can use the UI. If you want to add some special features or customise any part of the NFT contract, you can deploy your own solidity contract too. It all depends on the usecase.