In my country, webhosting service offer at here is not expensive, approximate $35 per year only, while foreign webhosting service, some offer $5 per month to $8 per month.Compare to local, still much more expensive, some of the beginner or new webmaster not afford to purchase.
In the other hand, if the target visitor is local visitor, most webmaster would prefer to host the website locally, since it is fast loading and low cost to them.
In some other case, webmaster choose foreign web hosting service such as US hosting or Canada hosting because their target visitor are from foreign country or the whole world. The server over there are much more faster because the internet speed/bandwidth they offer are higher.
Just for example, local server serve 10Mbps, to access locally, it take may be 2-3 second to load the full page, while foreign country need to take 10 second to load the fullpage. If your website hosted at US or Canada server serve 100Mbps, visitor at those country access need 1 second, while other country around the world (my country) take about 5second to 7 second. So meaning that it still serve faster speed.
Oh ya, 1 more tips, Search Engine bot crawl your page faster you hosted at those location, here is my experience once I change to US server from Malaysia Server since march
Above statistic show Time spent downloading a page from Google (in milliseconds)