I think the age-old saying 'you get what you pay for' remains true to this very day.
A lot of free hosting companies severely limit what you can and can't host on their servers, how much space you have and how much resources you can use.
Nothing in this day and age is free anymore and you best believe that you'll be paying for the service in one way or another, whether that's paid adverts in your control panels, website content or they're selling on your personal details. There will be a way that makes it profitable for them.
Not the mention the fact free hosts limit you so much so that you upgrade to their paid plans. A little bit of a marketing trick, like how supermarkets offer tasters sometimes, they hope that you'll actually buy the full product.