For in game purposes, it really depends on what kind of game I'm playing. In a difficult ROM hack or something, I'll always use a Pokemon based off of how viable they are competitively. Should it just be a regular game, however, I'll decide based off of appearance and how much I like a certain mon.
Competitive wise, a Pokemon's design has little influence over whether or not I decide to use it. For example, I've always thought Flareon to be a rather cool looking Pokemon--in fact, it's one of my favorite Eeveelutions--but because it's just so utterly terrible competitively, not once have I even considered putting it on a team. I'd definitely use it in-game, however.