While it is an expense up front to have a domain name, the cost is very minimal, but the potential long term benefits are huge. For about $10, you can get your own .com, and hosting starts at just a couple of dollars per month, so for under $50 per year, you can have your own name and hosted blog, something you will eventually need if you stick with blogging.
Also, if you choose to go with a free blog for now and decide to get a domain later, the process to switch is a major headache that can cost you traffic. All of your blog posts before the domain will need to be pointed to the new blog, and all of that hard-earned search engine ranking will have to start over on the new site.
Start out right and get a domain, and you will thank yourself later when your site starts to generate real traffic. You will have control over your content and not have to worry about exceeding the bandwidth on a free site or losing all of your content due to a policy change at your host blogging platform.