Setting up an online business can be done a number of ways.
You don’t need to have your own hosting and website. I’d argue it’s better if you do, just not necessary if you can’t manage the funds for hosting (which is not more than a cup of coffee a month!).
For those who can’t manage that, or who have a different model of business based on a bunch of squidoo lenses for example, there are lots of free places to start your web career.
What you do need though, imho, is your own domain name. Why? Firstly, you have some sense of control. If your host locks you down for any reason, you can redirect your domain to another server for example. Secondly, by choosing a good EMD (exact match domain name), you improve your SEO.
So make sure you have a clear plan on what your business will look like. That will dictate