You have raised a very interesting point and it is actually a controversial issue. According to https://www.timesofsports.com/sports-news/are-indian-cricketers-the-best-paid-athletes/ Indian cricketers like Virat Kohli, Rohit Sharma and other stars do earn huge amounts of money, but as you rightly pointed out, it is not only from the game but also from endorsements. When comparing them to footballers or hockey players, it is important to understand that cricket in India is not just a sport but a real culture and the players’ income is largely due to this factor. For example, the Indian Premier League (IPL), which began its history in 2008, has become not only a major sporting event but also a huge commercial business. IPL leagues attract huge audiences both in India and abroad, which generates incredible revenues from television rights, ticket sales and endorsements. This makes player contracts, especially overseas ones, very lucrative. For example, Kohli’s contract with Royal Challengers Bangalore in the IPL is worth tens of millions of dollars for a few weeks of play. Such sums make him one of the highest paid sportsmen in India.