I think it's worth it to have your own website, if nothing else, it helps in terms of SEO. I tried free webhosting in the past and didn't care for the restrictions that came with it. So, I got regular webhosting and I think that works fine.
As for a shopping cart, setting up your own can be quite complicated (not the install itself so much, but the customization thereof). Plus if you have a shopping cart where people check out on your site you probably want to pay for an SSL certificate as well.... there are checkout buttons you can put on your website from PayPal and other payment processors, which does make it easier, but not as customizable as your own site's shopping cart.
There are free shopping carts which are open source and they do of course take a lot more work then someone setting it up for you (which is usually very expensive).
Try the free webhost trials and see which one you like best. I would suggest saving backup copies of any coding work you do though, so not all your coding work if you do any, is lost when trial is up. Keep in mind that some sites do have webhosting as well as a shopping cart, but then often there are limitations to how many items you can list for sale.
Good luck and hope this helps :)