In coh2 you have to play at least one axis and at least one ally faction to play in tournaments. What is more, coh2 has such a dynamic ballance, that you can never actually tell which faction will be at a tournament condition during next tournament. That is why most good players play all factions.
When it comes to playing at casual level, you need to play at least a few games as each faction every patch just to get what is good and bad about them. It is also a good idea to play the faction you lost to when you lose a game - you can use the strategy of your opponent and learn how other players counter it. Other than that, you can stick to one side or faction without further negative effects to your performance.
There is one more thing to note though. As opposed to starcraft, this game is based on real events. That is why most people who play only one side or faction and advocate for that faction in ballance discussions, do so for political reasons. This means they are completely blind to any logical arguments and thus their voice on forums is hurting the game and its ballance. This is exactly the reason why many players tend to bash players who play only one faction.
