Domain Mapping how does it work?

I plan to install a project like edublog and I'm wondering how domain mapping work. Not technically but from a business perspective. Users when creating a site can choose a domain name, so are they directed to one specific hosting service? Or do they need to purchase a domain name and after make the DNS change to point to our server themselves? And what about email accounts? If they need to create email accounts with their chosen domain name they can do it via our server. Can we offer that as an exra service? How would we be able to manage all the client demands on email accounts etc. Or is it something we shall treat separately? I need to understand the easiest solution for all.
Looks like creating 1000 of email accounts for 100 of sites is already a full time job:slight_smile:.
Thanks for your suggestions.