Free web hosting is a nice way to setup a website with no budget. There are many free web hosting providers available on the market and most of them offer similar features and packages.
But free web hosting is not the best solution for all website owners.
You don't have your own domain name
Often with many free web hosting providers you cannot use your own domain name. You are given a subfolder or a subdirectory of a main domain, such as www.NameofFreeWebHostingProvider.com/yourCustomerID. This is not your domain name.
When running a website, the most time-consuming task is not to build a website, but to attract traffic to your website. If you want to move your website due to all kinds of reason, you cannot keep the same domain name - you don't own the main domain - this means all the effort you've put into building and promoting your website will be wasted and you'll have to start from zero again with the new web hosting provider.
You cannot use Adsense Advertising
Adsense advertising requires you to have your own domain name.
So, if you are seeking free web hosting services, make sure the web hosting provider offers you a domain name. Domain name registrations aren't free, but they are affordable and you can easily find good deals and promotions from time to time.