When the concept of Web hosting took the world by storm, all countries around the world started offering hosting services. Today most countries, developed underdeveloped or developing have their web hosts. However the cost will certainly vary from country to country. These services are much cheaper in third world countries.
This is because of the favorable economic conditions here due to which overhead costs are low. In contrast, hosting services in developed countries like USA and UK are costly due to high overhead costs. Therefore sometimes webmasters secure hosting for their websites on third world countries' servers. Apart from this there may be a few other reasons someone would like to host their website on a foreign server. Geographical proximity to clients that are being targeted is a reason to be hosting overseas. When a client tries to open a website that is being hosted on a foreign server, the data has to pass through many nodes because of the large distance and thus pages may take some time to load.
Therefore, it is better to host the site on a server in the client's home country. Therefore an American website targeting Indian people should host their website on an Indian server. That would increase service quality. Another possible reason of hosting overseas could be for webmasters indulging in illegal acts like illegal files and torrent download. These webmasters would prefer to host their sites in countries which do not have strong laws and regulations regarding software piracy. Hosting in their country could prove to be too risky, especially there are laws regarding piracy. Even webmasters involved in adult material on their sites would go this way to avoid legal complications in their own country.