How do I define 'A Good Freelancer'? A Good Freelancer is a Freelancer with a handsome regular income and a big list of happy clients.
Being a good freelancer isn't easy. It has its own sets of requirements. You'll have to fulfill those requirements first.
Requirements for being a Good Freelancer:
Primary Skills (Billable Skills) or Expertise
My primary Skills/Expertise are MultiChannel Marketing and CRO (Conversion Rate Optimization) and love these. I help my clients using these skills and they pay in return. oDesk provides a good list of skills based on the posted projects.

Now, find out your own Skill sets! Ask yourself! Are you a good programmer? Do you love to write? Are you a good manager? Do you like helping out people?
Remember, Primary skills should be based on your passion and love! If you're just after the trend or copying someone, it's not going to help you. You are going to face many problems in future this way. So, carefully choose your billable skills and it'll easier to success.
Many People starts with Generalization 
Doing everything they can) and then move towards Specialization (Focus on few things). This is a good approach. That's why I used the term Skills set and not only a skill.
Secondary Skills
Only being good at Billable skills isn't enough. You have to work on your secondary skills too. Secondary skills are those skills which are useful for bringing more value at what you do. According to me, Secondary skills are:
-
Communication Skills: You've to work on your Communication skills too. Learn how to speak and talk well. English is most important language in this field. You don't have to be some sort of Guru but just be good enough to express yourself and understand others.
So, Buy some books, watch movies with subtitles or read Grammar for improving your communication Skills.
-
Computing Skills: It's not a big deal for many people but You got to be good at computers. It sounds silly but it's important. You have to know how Skype works, How to you create a presentation or PDF etc.
Dedication:
Dedication is necessary for success in every field. I'm not going to lecture about dedication here but you have to be determined and less procrastinate. Work hard and you'll make good money.
Patience and belief
Many people quit before they get it. Just make your mind, set goals for long-term, create agendas for short terms and believe in yourself. Don't be a quitter!
If you've some confusions or setbacks, don't let it divert you. Find a way to overcome those and get back into the field. You're gonna make it for sure.
Eager to Learn
Nothing is consistent. So why your expertise should be? Dedicate some time for learning and do this regularly. If you're a programmer, learn a new language! If you're a marketing expert, learn about a new channel.
So based on my experience, these are the requirements for being a good freelancer. Your opinion?