Free domain name are actually sub domains under the domain of the service provider. They are in the form of yourdomain.co.cc, yourdomain.co.nr, etc. Here service providers have always the right to cancel their service at any moment. If you want traditional domain like .com, .net, .info, etc, then you have to purchase one.
There are lots of site offering you free sub domain under their domain. But many of them are only URL redirection service. They do not allow you DSN control. So you can't create sub domains (actually sub sub domain), email accounts under your domain. Below, I list some sites which offer free subdomain with full DSN control.
There are also other companies offering you free domain name, but most of them do not provide you DSN control, i.e. you can't create sub-domain email account under your domain. And those offering DSN control like CO.NR or UNI.CC, require a back link on your pages.
You can get free domain name like yourdomain.uni.cc. The service of uni.cc is very fast. They also offer full DSN control to the user; but one thing, you have to put back link at every page of your site.
co.nr free domain name is only available for those who already build their site with a long domain or sub domain name. They will manually review your site before you to give domain name. Here also you need to put a button on every page of your site.
Nic.Biz.ly provides a Free Domain Name, a free subdomain of .biz.ly domain name to everybody who wishes to get a free domain name with the TOTAL DNS control. But this offer is only for already developed site which has at least 100 visitors per day. Also a link back to Biz.ly to be added right to the main/first page of your .biz.ly site.