I'll give a very abbreviated breakdown. Each race has a depth of nuances that could be argued one way or the other as to their viability.
Human - Well rounded and versatile race. Most the necessary heroes are free to obtain, i.e. Virion and Avalon. They can siege well, clear timed events, and are decent at PvP.
Lich - Very PvP oriented race, but a bit of a one trick pony when it comes to playstyle. They struggle with sieging compared to Dwarf and Human, but with adequate research in skeletons they are viable at end game. They do great in challenges that require no deaths or minimal heroes, but struggle with speed clears.
Dwarf - Fun offense oriented race with one of the best frontline units in the game and great burst damage. They siege well, PvP well, and can clear timed events. Their biggest downside is the significant RSS loss when something doesn't go your way in a siege or PvP. This is also true if someone manages to clear your garrison, you can easily lose tens of thousands of rare RSS worth of troops. High risk, high reward.
Rakan - I don't play Rakan much. They are phenomenal at PvE speed clears, and I've seen them be viable in PvP when they can activate their abilities to clear backlines. They are very elixir dependent and can use tens of thousands of it per battle. Their troops also loan well for void.