What makes for a good character?
Good characters need a few things. First, the player has to want to play it. Seems pretty obvious, but I’ve run games where a player ended up playing a class they weren’t fond of because the group needed it, and hated every minute. If the player isn’t excited about the character, they’ll never play the character to its potential. Second, the character should fit the setting and tone of your campaign. If I’m running a high-fantasy campaign in a Tolkienesque setting, maybe you need to wait to play your gritty samurai character. Or give me a pretty fantastic reason why your special snowflake fits in after all. Without that, I’ll either have to come up with some justification for the samurai’s existence when there is nothing inherent to the setting to support that type of character, or we’ll have to just ignore the fact that the character is a samurai (and then what’s the point of playing one?). The same thing would apply to building an obvious comedic character when the campaign’s tone is super-gritty and dark, or vice versa. You should get a sense of both the tone and the setting during the pre-campaign discussion with the group. Don’t do one of those? Great time to start then, because it saves so many headaches down the road.
One thing I don’t think you need for a good character is party balance. Opinions may differ, but as a GM I don’t need my players to check off the fighter-rogue-mage-cleric checklist during character creation. I am entirely comfortable with an “off balance” party. No one wants to play a cleric or spellcaster? No problem. No front-line fighters? Great! I’m happy to make some adjustments to accommodate, emphasis on “some”. I’ve found it interesting to see how an asymmetrical party handles encounters designed for a balanced group. Some of the most imaginative player solutions come from that, I’ve found.