To answer your question, yes you can run a website with no hosting or free hosting. You will also be able to monetize it through ads and affiliate programs. Creating a free site on Blogger doesn't require a host, because Google takes that responsibility. All you need is a Gmail account. However, if you decide to buy a domain and find a free third party hosting, you are going to be stuck with bandwidth limitations. Everything depends on where you get the domain and who can host it. For example, using the free WordPress blog option means you will be very limited in terms of design and plugins, whereas Google Blogger has a few more options.