It's pretty important to stick to one or two things and really develop them. If you are playing a bad character or build but you know the matchup really well, you can deal with the weaknesses of your character or matchup. Too many people just mirror what top players play, which is disappointing.
That's what I'd like to say.
The reality of it is that most players are too bad to do this. If you're a low level player playing a low tier character, you're probably going to lose a lot. You're going to lose more than you would if you had played a different (not necessarily top tier) character. It takes a lot of innovation and understanding to play bad matchups.
We saw recently in LCS where players would play Irelia against Renekton, which is a horrible matchup for Irelia. However, these players were good enough to know where Irelia is weak and played her correctly to compensate for that, then managed to get to the later game where Irelia became more relevant. They can do this because they are top players.
I'm not saying that only top players should play "bad" characters. I'm saying that if you play a bad character you need to work harder than you would if you were playing a good character or a good stable of characters. Most players who play bad characters say that they are willing to, but when I ask them basic questions like, "what do you do in this matchup?" they are clueless or give horrible answers.
If you are going to play one thing you need to be aware of your counters. If you don't know what beats you then you are doomed to get owned by it. I like to play a certain way most of the time, so I prefer to have a lot of characters that can handle many different situations. In fighting games this is pretty hard, so I usually have to just play a single top tier character who has few bad matchups. In MOBAs this is easier because characters have fewer differences (4-10 different options versus 20+) so I can play multiple characters more easily. In a game like LoL ranked where you can get picked or banned out, it's important to have at least 3-5 characters for your preferred role.
For the average game player it is better to not pick someone good or bad, but instead pick someone easy. I would much rather pick Fei Long than C. Viper, regardless of tiers. My character of choice in Street Fighter is generally Balrog who is super easy. I'm not that good of a player and I'm not going to invest enough time in the game to really develop a lot of super elite tech. Picking a character who is fairly simple and straightforward is the right choice because I can just focus on playing rather than on the really technical stuff.
What's an example of an easy character? Well here are a few steps. First, do a google search on your desired character and find out if that character has any special tricks or glitches that you need to know. Alternatively, some of it may be just obvious. C. Viper is obviously a technical character. Lee Sin is too. It can help to watch some match footage of your desired character.
Second, play around a bit. How easy is it to land your character's stuff? How easy is it to confirm into other stuff or otherwise do what you need to do to win? If you're playing a MOBA like LoL you might want to wait for a free week and try to emulate some of the harder tricks. If you can't do the harder shenanigans, don't play the character unless you're willing to spend time learning.
How easy is it to counter your character? That's really a big deal. It's a lot easier to counter Garen than it is to counter Jayce. Even if Garen is easy and Jayce is hard, Jayce isn't that difficult and he is much harder to deal with. You want a character that is hard to handle or that requires specific tricks to beat.
Of course, you can stick to your guns. I think that, for most people, it's bad because most people aren't willing to spend the time to learn the bad matchups. If you can't do that, you should play characters with fewer bad matchups. It's really that simple.