It kind of depends upon what specific business relationship you want to have with your clients, and/or a specific client. In my situation, building websites is not my 9 to 5. I can commit to build a site at a given time, but cannot commit to being available a year from now when they want a major revision.
My business model is based around delivering turn-key sites with documentation that anyone can use to expand the site. My contract states that copyright (on layout/features, not content) and ownership is mine until final payment is received, then the whole thing goes to them.
All my sites are hosted separately (reseller hosting is a different line of business that I don't want to get into). After final payment is received, I walk them through setting up a hosting account (using WH4L lately as I get a percentage) and then take them over to Registerfly and have them set up a registration account. I then transfer my registration of the domain to them.
Domain renewal is not always smooth. Liability to renew the domain name is in their hands, not mine. I don't get sued if the renwal doesn't happen. One of my recent web hosts was using Spam Assasin which blocked registerfly. Luckily I caught the fact that reneal notices were not getting to me, but it could have been ugly.