smashboards is a pretty good answer to all of these questions, but I guess......
Mario vs Luigi is odd. The differences being their smashes and their side-bs. I really think that Luigi is better than Mario, but Doc. Mario trumps all due to his reverse sex kick and his better smashes. Mario's advantages over Luigi are his cape and his fireballs. His cape can gimp most recoveries while his fireballs don't go straight, so you can stop someone from recovering below stage. Which is how most Marth's will try to recover (and sweetspot up-B to the ledge). Luigi has better recovery and a much farther wavedash. His side-b can cover an insane amount of area and his wavedash gives him an ability to attack from extremely far away without relying on pivot smashes or an aerial game. Like I said though, better off using Doc.
While I am a Melee buff I do know Brawl pretty well and D3 is my "main". He has insane chaingrabs that you have to be retarded to not pull off. On top of that his side-b has terrific spam ability (and possible KO potential). Amazing tilts. He may have the best tilts in all of Brawl. His U-tilt has insane kockback, his f-tilt has the ability to gimp recoveries pretty well. U-tilt can poke under shields easily too! Let's not forget he has multiple jumps and an Up-B that has insane vertical recovery and super armor frames.
Marth in Melee is annoying. There's a reason why most of the #1's have used Marth (and then
they switch to Fox or something, I don't know why). The only downside to Marth, and I mean the only downside, is that he doesn't have a projectile. His range on his sword is unholy. The sweetspot (where it does the most damage) is at the tip so you have the safety of not getting hit as long as you're within swords-reach away. Since Marth attacks with his sword it's known as a disjointed hitbox. Meaning that characters that attack with their body are at a much greater risk since their hurtbox is their hitbox, usually. Marth has chaingrabs, amazing aerial game, strong smashes, amazing tilts, great recovery (with side-b and up-b), and a spike.
Fuck Marth.