Background: I've just started Borderlands 2 and I know essentially nothing about the various characters. What I don't want to happen is I pick Zero at the beginning because the flavor text looks neat, level him up to 40 and then realize I hate him and love Salvador (which is what happened to me in Mass Effect 1).
So far I've taken Axton up to level 7 and Zero up to level 6. So far, I don't see any important differences in the characters, but I figure that's because I haven't had enough exposure to their various class abilities. I get that Maya is supposed to be crowd control and Zero is...kind of ganky, but what's the difference between Salvador and Axton? Is one DPS and one tank? If so, which? Salvador could be either one, and Axton doesn't really seem to stand out as one or the other.
What roles in a team are the various characters best able to fill based on their unique skills and abilities?