It depends on your needs and skills. You can build it yourself or use some hosted service.
There are many steps to build a profitable online store by yourself.
- Buy a domain
- Order hosting service (VPS or dedicated, not recommend for shared host)
- Server configuration
- Purchase and setup SSL cert (this can be ignore if you use paypal cart)
- Setting up the shopping cart (e.g. Prestashop, Magento, opencart...etc)
- Design the layout
- Upload product
- Marketing and sell!
So, you need some basic programming skill and server setup experience.
If you don't have those skill, you can consider to use some hosted service (e.g. Bigcommerce, Jooy.com, Shopify.com...etc), which let you setup the online store by filling some simple online form. So, you don't need to setup everything by yourself.