Freelancing is generally quite hard if you are not in cheap countries.
If you are in Pakistan you can enjoy an income multiple times higher than what you could earn locally with basic HTML/CSS/JS/PHP work. A modest $30 an hour goes a looong way in those locations.
If you are in London ... it's a different story.
In expensive countries it can work if you have skills that are not low barrier and flooded like Wordpress work, or location-dependent work like photography and shooting video.
Or if you are senior and have a large existing network and reputation and so on.
Otherwise it turns into a bit of a never ending losing battle.