Welcome to WebmasterWorld Guest from 18.104.22.168
The main reason for keeping registration and hosting separate is to avoid lock in to one provider. Having said that I started out that way then moved my hosting to the company that managed the domain.
so why should i pay for domain name from a site then transfer it to hosting service which in turn will also cost me for hosting ?
You really don't transfer it to the hosting service, you just go to your cpanel with the registrar and change the DNS.
I second the "Watch out for free domains deals"
You can register a domain name for as little as USD$10