The Gemara in Masechet Megilla (31) establishes a number of rules relevant to the annual Torah reading cycle, which the Shulhan Aruch brings in Orah Haim (428). Namely, Parashat Bamidbar is read before Shabuot; Parashat Vaet’hanan is read after Tisha B’Ab; and Parashat Nisavim is read before Rosh Hashanah. The Gemara gives a mnemonic to help remember these three rules: "Menu Ve’isru," "Sumu U’slu," and "Kumu Ve’tik’u." The phrase "Menu Ve’isru" – "count and observe a holiday" – refers to the reading of Parashat Bamidbar, which tells of the counting of Beneh Yisrael, before Shabuot, which is called "Aseret." "Sumu U’slu" means "fast and pray," referring to the reading of Parashat Va’ethanan, which tells of Moshe’s prayers to G-d, after the fast of Tisha B’Ab. And "Kumu Ve’tik’u" – "Arise and blow [the Shofar]" – refers to the reading of Parashat Nisavim, which means "stand," before Rosh Hashanah, when we sound the Shofar.
With this background, we understand why sometimes two Parashiyot are combined and read together on the same Shabbat. In order to maintain this schedule, it often becomes necessary to combine Parashiyot.
On some occasions, such as this year (5780/2020), there is a discrepancy between Israel and the Diaspora with regard to the Torah reading. This happens when the second day of Yom Tob, which is observed only in the Diaspora, falls on Shabbat. For example, Shabuot this year fell on Friday and Shabbat, and so here in the Diaspora, we read a special reading for the Yom Tob on both days. In Israel, however, Shabuot was observed only on Friday, and so on Shabbat, they read that week’s Parasha. This resulted in a lag between the Diaspora and Israel. When this happens, Diaspora communities combine Parashiyot Hukat and Balak, which are normally read separately, and this way Diaspora communities "catch up" to Israeli communities. One explanation given for why we combine specifically these two Parashiyot is that Parashat Balak is the first Parasha read after Shabuot that is "Setuma" – meaning, it does not begin on a new line in the Torah scroll. The first words of Parashat Balak are written on the same line as the final words of the previous Parasha, Parashat Hukat. Thus, these two Parashiyot are connected in a certain sense, and it is thus appropriate to combine them when necessary to "catch up" to communities in Israel.
Another situation which results in a discrepancy between Israeli and Diaspora communities is when the last two days of Pesach fall on Friday and Shabbat. In such a case, too, Shabbat is observed as Yom Tob in the Diaspora, and so a special section is read for Yom Tob, whereas in Israel, this is a regular Shabbat, and so the weekly Parasha is read. Diaspora communities then combine two Parashiyot at some later point in order to catch up.
This situation occurred a number of years ago (5776/2016), during a leap year, when the pairs of Parashiyot which are normally combined were read separately, in order to spread out the Parashiyot to cover the extra month added to the calendar. Interestingly, that year, Diaspora communities did not "catch up" to Israeli communities until the reading of Parashiyot Matot and Maseh, during the Three Weeks in the summer, which they combined, whereas in Israel they were read separately. The reason why they did not combine an earlier pair of Parashiyot is because that year, Israel ended up reading Parashat Bamidbar a week before Shabuot, instead of on the Shabbat immediately preceding Shabuot, when this Parasha ideally should be read. Since Diaspora communities were in a position to read Parashat Bamidbar on the Shabbat immediately preceding Shabuot, they did so, as this was preferable to catching up to Israeli communities earlier and then reading Parashat Bamidbar a week before Shabuot.
The Poskim explain that the reason why Diaspora communities combine two Parashiyot to "catch up" to Israeli communities, instead of Israeli communities splitting a Parasha to accommodate the Diaspora’s schedule, is because of Eretz Yisrael’s stature of prominence. It would be disrespectful to the Land of Israel to have its communities adjust its Torah reading schedule to be on equal pace with the Diaspora, and so instead, the Diaspora communities adjust their Torah reading schedule to show honor to Eretz Yisrael.
Interestingly, the Jewish community of Halab (Aleppo, Syria) had the practice of combining Parashiyot Korah and Hukat every year, even when the Diaspora communities were not a Parasha behind. Parashat Korah tells of the bitter "Mahloket" (fight) that erupted, with Korah instigating a fight against Moshe Rabbenu, and so it was felt that reading Parashat Korah alone might not bode well for harmony within the community. Therefore, they ensured to always combine it with Parashat Hukat. The only Rabbi from Halab who continued this practice after leaving Syria was Hacham Yishak Shehebar of Argentina.
Summary: The annual Torah reading cycle is arranged in such a way that Parashat Bamidbar is read right before Shabuot, Parashat Vaet’hanan is read right after Tisha B’Ab, and Parashat Nisavim is read right before Rosh Hashanah. In order to maintain this schedule, certain pairs of Parashiyot are often combined and read together on a single Shabbat. Sometimes, the eighth day of Pesach or the second day of Shabuot falls on Shabbat, and since this day of Yom Tob is observed only in the Diaspora, Israeli communities read the weekly Parasha, resulting in a discrepancy between the Diaspora and Israel. The Diaspora eventually "catches up" by combining two Parashiyot which are not combined in Israel.