Throughout the existence of the Soviet Union the domestic hockey league, the Soviet Championship League, was nearly always won by CSKA Moscow (the Red Army club). The Football league had somewhat more parity but was still dominated by a small number of clubs (Dynamo Moscow, Spartak Moscow, and Dynamo Kiev).
Why did these respective teams dominate each league? Likewise, why was there some degree of parity in the football league while the Red Army club dominated hockey almost without exception? More specifically, while I am aware of some of the obvious advantages the Red Army had (i.e. the literal ability to draft the best hockey players into the army), why did this advantage seemingly not carry over to football?
You're lucky in that I just read a couple books that specifically get into this topic, and have the information fresh in my mind. I'll note that I'm far more comfortable answering the hockey side of things, but will provide an explanation for both hockey and football/soccer.
First, I'll get into the background of how both sports came to prominence in the Soviet Union, as that is an important factor. I’ll also note that football and hockey were by far the most popular spectator sports in the Soviet Union, with football the clear favourite and hockey a comfortable number two, in terms of attendance. For what it’s worth, basketball was a distant third.
While football had been played in Russia since the late 19th century (introduced by groups of English living in the country), it was never formally organised into a national league until 1936. This was partly because of the chaos caused by the First World War and subsequent turmoil in the region, but also because the Bolsheviks were somewhat ambivalent towards sport, seeing it as a rather bourgeois event. This is somewhat true, as sports at the turn of the century was heavily dominated by the wealthy, who had both the means to participate and the leisure time away from work to take part. This is why the Soviet Union didn’t enter the Olympics until after the Second World War, as they felt it promoted this class division, being an amateur-only event (again, fairly accurate, as the Olympics were aimed towards those who could afford to play sports for no financial gain).
Hockey was introduced a little later. While so-called “Russian hockey” (more commonly known as bandy) had been played since the turn of the century, “Canadian hockey” was slow to be introduced into Russia, though it was known by the 1930s, and in his book Serious Fun: A History of Spectator Sports in the USSR suggests that had the Nazis not invaded in 1941 a hockey league would have been started then; it was instead delayed until 1946, after the war.
That all said, why were so few teams dominant in these sports? For football, there were two main teams throughout the Soviet era: Spartak and Dinamo, both based in Moscow. There were later teams that rose to prominence as well, including Dinamo Tbilisi, Dinamo Kiev, and some others that rose and fell, but Spartak and D. Moscow were the clear top teams for the majority of the Soviet era.
At this point I’ll note the way Soviet sports were organised: unlike North America, which has teams owned by rich individuals or small groups, or Europe which has a mix of that or supporter-backed clubs, the Soviet teams were backed by various government groups: so CSKA was backed by the Ministry of Defence (CSKA is a Russian abbreviation for “Central Sports Club of the Army); likewise teams would be backed by various trade unions (Lokomotiv would be teams run by the train workers), factories (Metallurg Magnitogorsk in hockey is an example), or other government departments. Dinamo was no exception, and was backed by Ministry of the Interior as part of its NKVD/KGB section, so the secret police ran the club. Spartak was an exception: it was originally made by a collection of football players, and in order to keep itself alive took on de jure sponsorship of a food-packers union, but was always independent from the government. This proved to be important.
As the sole non-state backed team, Spartak enjoyed immense popularity. In Edelman’s other book on Soviet sports, Spartak Moscow: A History of the People's Team in the Workers' State he suggests up to 50% of Moscow football fans supported Spartak, and they consistently had some of the highest attendance in the Soviet Union. This meant they were able to finance proper training, and were able to attract players to join their club, keeping them in a dominant position throughout the Soviet era. By contrast, Dinamo Moscow used its connections as a NKVD/KGB club to import (or even threaten) top players to join their side. This was even more prominent during the time Lavrenty Beria was alive: a major football fan and head of the NKVD, he ensured that Dinamo was a major club, and at one point even had the leadership of Spartak (the Starostin brothers) sent to the Gulag on trumped-up charges. After Beria’s death in 1953 Dinamo maintained its prestige, and the fact it was backed by the secret police meant the local clubs in Kiev and Tbilisi also used their connections in their respective republics to source the best players and rise to prominence. However Spartak continued to use its massive support to remain relevant, and thus Soviet football was largely a two-team affair for most of its time.
Now onto hockey. As noted it was not organised until 1946, and much like football had clubs backed by various government agencies. The first real strong team was VVS Moscow, a team backed by the Air Force and actually run by Vasily Stalin, the son of Joseph. This team dominated Soviet hockey in the early years, until a 1950 plane crash wiped out most of the club (for those who’ve seen The Death of Stalin, this is referenced). It was soon replaced as the top club by CSKA, the army-backed team, and coached by the so-called father of Soviet hockey, Anatoli Tarasov.
CSKA used the fact that it was an army club to its advantage, and was often able to recruit star players for military service, commissioning them as officers but instead having them play hockey. However this did not mean that every star player ever joined CSKA, and a few even refused such an offer, but enough of them did that CSKA won 32 league championships in the 46 years the Soviet league existed, including a stretch of 13 in a row from 1977 to 1989 (for reference the other champions were VVS, the air force team; Dinamo, the KGB team; Krylya Sovtov, an aviation-backed team; and Spartak).
Hockey was also different from football in one key way: while football was played by every region and republic (and indeed at one point every union republic had a team in the top flight of Soviet football), hockey was far more limited, due to its requirement of needing ice to play on. Indoor arenas were slow to develop, and the early years of Soviet hockey were played exclusively outdoors on natural ice, so warmer regions never took up the sport, and it was instead focused on the Slavic regions, and the Baltics (who took up hockey during the interwar era while independent states). Thus there was a far more limited region to play, and this never really changed.
Now, for some reading on the topic:
James Riordan, * Sport in Soviet Society: Development of Sport and Physical Education in Russia and the USSR* (1977). The foundational text on Soviet sport, Riordan is the acknowledged leader on the topic, and while a dated book is a great background to how Soviet sports developed and what role they played in the USSR.
Robert Edelman, * Serious Fun: A History of Spectator Sports in the USSR* (1993). This is an overall look at spectator sports in the USSR, with a focus on football, and hockey to a lesser extent. It is great, though note that Edelman did not have access to archival material while writing it, so it is somewhat limited in that regard.
Robert Edelman, Spartak Moscow: A History of the People's Team in the Workers' State (2012). Edelman’s second book on Soviet sport, it focuses on Spartak Moscow’s football side. This complements the above by using Spartak as a case study of a Soviet sports club, and does rely on archival material.
Lawrence Martin, * The Red Machine: The Soviet Quest to Dominate Canada's Game* (1990). A Canadian journalist, Martin has written the only comprehensive book on Soviet hockey, which while excellent is not an academic work by any means, though still very accurate. Anyone who wants to understand the topic should read it.