No, DDD is the games second best character. He has only one bad match-up in top tier (Falco and MK of course but who doesn't?). But he has the advantage over Snake, ROB and goes even with GnW. Further more he has a little advantage over Marth and owns Wario - another overused character.
Dededes worst match-up is Pikachu and all of his bad match-up's are below top tier (except Falco MK): Diddy, ICs, Pika, Olimar, Zamus. But he wins vs Lucario and DK, who are more overused.
His match-up's aren't the best but he has good match-up, where it matters.
GnWs match-up's aren't so good. He loses to MK as well as Snake and Marth. He wins only against ROB and Falco. He wins against most characters below but it doesn't help him in a tourney, where he won't face them so often.
Snake is a bit difficult to rate imo. His match-up's vs other tops are strange: He loses to Dedede, ROB and Falco. He has a disadvantage to MK but nobody does better vs MK than Snake atm. He also beats Marth and he's one of the few characters to do so. And finally he is GnWs worst match-up...
The problem is, that ROB shouldn't be part of the equation, since I doubt he's top tier material, when I think of it. ROB has bad match-up in top tier against almost everybody. He only does well vs Snake and ggoes slightly even with Falco....
The number of bad match-up's aren't so important, rather the qualilty of them. A bad match-up against Snake means a lot more than a bad match-up vs Pikachu.
Thus: (MK > ) Dedede > Snake > GnW