Now the time if a company offer a free web hosting then is it true that really everything is free then the answer is one way is to make some of their money from registering your domain name. Domain registration is a necessary step for any future web site owner, (some low cost host play a numbers game between your monthly cost and your yearly domain registration fee, for example:$5/month and $30 registration fee, or $7/month and only $6 to register, or…… you get the picture).
Another way they make money is to add advertising onto your web page. They will get paid either each time the banner is shown, or each time someone clicks on the advertisement. Some will offer extra add ones like Spam or Virus Protection, Domain Theft Protection, or other services at an additional cost. Of course if you feel you have need for these services, then you should purchase them.
There are also limitations such as storage space, bandwidth, number of email accounts, and so on, in hopes that you will need more later and decide to upgrade. So you can say that this thing free hosting is so so.