You can get free web hosting but usually it comes at a price. What I mean is they run ads on your site or their hosting service is limited or there is some other down side to it.
You can get hosting for sites as low as $1.25 a month if you look around long enough.
Anyone who's interested in making money whether online or offline has to either invest time or money. If they can't invest either they shouldn't try. They should expect to invest both. Remember, it's like a farmer planting his crop. What you sow is what you reap. If you want to start business on the cheap you're going to get a cheap return.