Sure it's about the quality of your music that brings fans your way, but the way you promote yourself to fans may possibly make them overlook how good your music is. If you have a small fan base, they are likely to skip you and move onto someone else with more fans.
Building a huge fan base is a must. Record labels are not putting millions of dollars up for artists that can not return the money.
Music fans are tired of hearing the same lines when it comes to people trying to sell them CD's and get their money. You're really going to have to work hard if you want people to spend their time and money on you.
Anyone that approaches a fan with the intent to sell the CD every time is going to fail. By giving away free CD's you'll see how you're money game increases. Not only will fans say they got the CD for free, they will be quick to spread the word twice as fast. If the quality of your music is any good, your name will buzz even faster.
Usually when something is handed out for free, it's not something people will remember or cherish. Do not give away your hottest material because if it's for free, nobody expects it to be the best.
Offer something more to your fans which will make sure they remember your name. Do not do the same thing that every other artist is doing. You should definitely look at what successful artists are doing and try to mimic their strategies.