To me my designs looks good, at least for some months. But to others not so much. I want to go freelancing but I don't want to be a bad designer. So how do I find out if my logo/website/business card/backgrounds are good, and if not, what is bad about them?
This old quote from US broadcaster Ira Glass puts it really well. It's something I believe is true for every creative profession:
Not much to add to that. Feeling conflicted about your own work is healthy - it's a sign of high standards and of pushing yourself.
For you, it sounds like it's not those months where you don't like your work so much that you should worry about. Pushing yourself is normal and healthy, being satisfied with everything you produce is not a sign of being a good designer - quite the opposite. Maybe you're going too easy on your work in those months where you're perfectly satisfied with it.
It's very hard to judge your own ability, because it's healthy and normal have a certain amount of dissatisfaction with your ability from always aiming slightly higher each time your ability gets slightly higher - what web comic Cyanide & Happiness called "The Creator's Curse":
...and it is pretty neat because it keeps people improving - if you don't have it, you might be stagnating. It's easier to cope with the constant frustration when you know it's for the best... (or at least, that's what I keep telling myself).
A better pair of questions which are easier to assess objectively is: "Are my clients (or boss) happy, paying, and recommending me to others?" and "Am I improving - is my work and skill set really, actually better than 3 months ago?". If you don't have clients or an equivalent source of impartial objective feedback yet, or if you feel you need more, get it using some of the suggestions in plainclothes' answer.
A few design-specific tips for better assessing yourself and your work:
A good aesthetic eye is something that takes a little experience to develop. And being a good designer means also being your number 1 critic (not number 1 fan, which many poor designers tend to be). Good designers are perfectionists, just like any other good artist.
There's no simple way to achieve these things, but one very helpful method is to immerse yourself in high quality designs:
The goal of all of this is to get out of a solipsistic mindset where you're only looking at your own designs. Because when you get that sort of tunnel vision, you have no objective reference for judging your own work. All you see is your own designs all the time and hear your clients or friends/family commenting on how great they are. You will grow very little as a designer this way.
On the other hand, if you focus outwardly and on the best designers in the industry, then you'll always be able to see how much further you have to go to be on the same level as the first rate design studios.
In time, by absorbing the aesthetic qualities of professional designs, you'll begin to internalize some of those aesthetics and be able to apply them to your own work in original and innovative ways. But that only comes if you set very high standards for yourself.
In general, I find there's 4 phases in a person's self-evaluation of their own work:
1) I know nothing. I suck. 2) I think I figured this out! I rock! 3) Wait a minute, I now know enough that I know I don't know a lot. I need to get better. 4) I'm now fairly confident in my work.
The second phase is the dangerous phase...when you know enough to be dangerous, but don't know enough to realize all the stuff you are doing wrong.
The 3rd phase is the one I feel that most people will spend most of their career in. It's an acknowledgement that you know a lot, but that you still have a lot to learn.
I guess my point to that is don't confuse phase 2 with phase 4. ;)
As for how to know you are good or not, are you making a living doing what you are doing? That's one sign.
Another suggestion would be to take your portfolio around to other design firms. Ask if you could sit down with some art directors and have them review your portfolio and offer some feedback. Ask for some peer review.
Your clients will tell you.
Sometimes delicately, sometimes not so much.
Go out and start doing work for people and see what they say. If people start coming back and referring their contacts that means they like you work, your responsiveness, and your price.
Over time you can inch your rates up as your business and your work improve. To be honest, most clients have terrible taste: They'll pay even if you're an awful designer, as long as you give them what they're after and their sales are good.
If you really want an insider's perspective
Bug local designers / firms / ad agencies and see if they'll take a few minutes to meet with you. Some designers will meet with local newbies out of the good of their heart. Others are just scouting for new talent. You'll be able to tell the difference when they start talking ;)
Behance Portfolio Reviews are a good format for structured feedback. The face-to-face format is the best way to learn. They are community organized for aspiring designers in various fields. If there's one near you, check it out.
Hearing from others helps, this is my best opinion that others have responded by making remarks of pros and cons. You can set it up in a blog for other designers to check out. Try Behance and other great portfolio sites online.
In some situations it is always good to go with your gut instinct if you feel it will stand out... take the risk and see what happens. Either way you learn as you go.
I don't know everything about designing but I know designers take risks, and offer something different to their clients that the "other guys" didn't think about.. so why not? I actually try to do a tutorial once a week to learn something new. : ) Hope this helps you on your journey, I'm guessing you never really get off the quest to be good at what you do... you keep at it.