If you already have a domain name, there's no charge to set it up with Blogspot. If you don't have one, you can buy one through them.
http://support.google.com/blogger/bin/static.py?hl=en&ts=1233381&page=ts.cs Again, nothing stopping you from designing your own template without mentioning Blogspot anywhere. Just an example:
http://btemplates.com/2012/blogger-template-musicplus/Of course you can do everything yourself if you have plenty of time and want to manage everything on your own. The point is, many people just want to provide information online without having to worry about the hassle of maintaining a webserver. Same reason why most people use Gmail instead of setting up their own mail servers.
Here are some reasons why I'd use Blogspotr:
1. I don't want to pay for extra bandwidth.
2. If a power failure hits, I don't want my site to go down because it's hosted at home.
3. I don't have redundancy at home compared to the infrastructure Blogspot has setup.
4. I maintain enough servers as it is at work, and when I have free time, it's spent doing hacking and research, not debugging a webserver so people can read my posts.
5. I need to pay for a static IP.
6. If Blogspot goes down, I don't really care. I know some Blogspot employee is getting up at 3am to fix the problem.
The list goes on. It's all about using the right tool for the right job. Most people just don't care about maintaining a personal webserver when all they're going to be using it for, is a blog.