How to unlock every character in SSBM
Luigi-In the first stage of Adventure Mode, beat it with a 2 in the seconds counter. For example, 6:42:13.
Then Luigi should kick Mario off and you'll have to fight him with Peach. At the end of Adventure Mode, he'll challenge you and beat him to unlock him.
Dr. Mario-Beat Classic Mode as Mario on any difficulty
And at the end he'll challenge you. Beat him and you'll unlock him.
Ganondorf-Beat Event Match 29-Triforce Gathering and he'll challenge you. Beat him and you'll unlock him.
Falco-Beat 100-Man Melee with anybody.Tip: Use Donkey Kong's Down + B or Mewtwo's Shadowball on the edge. Beat him and you'll unlock him.
Young Link-Beat Classic Mode with 10 of the original characters on any mode. Beat him and you'll unlock him.
Pichu-Beat Event Match 37-Legendary Pokemon and then he'll challenge you. Beat him to unlock him.
Jigglypuff-Beat Classic Mode on any difficulty with any character. Beat him and you'll unlock him.
Mewtwo-Have a total Vs. Match play time of 20 hours or more and then he will challenge you after that match.
Mr. Game and Watch-This is the hardest guy to unlock. First, unlock every other character. Second, beat Classic Mode with every other character then he will challenge you. Beat him to unlock him.
Marth-Do 1 Vs. Mode Melee match with all of the original characters (none of the unlocked) then he will challenge you. Beat him to unlock him.
Roy-Beat Classic Mode as Marth on any difficulty. Then he will challenge you. Beat him to unlock him.
Hope that helped!
We have more cheats and tips for this game here, Super Smash Bros. Melee cheats