The Avudraham (Shachris Shabbos, page 189) explains why we read the Haftorah each week: "It was decreed that the Jews could no longer read from the Torah, so the rabbis established to start reading from the Neviim instead." Tosfos Yom Tov (Megillah-3:4) adds that Antiochus made the decree (from the Chanukah story), and even after the decree was abolished, the custom of reading from the Neviim remained.
When the Rabbis of that time established the Haftorah in place of the weekly parsha, they wanted it to resemble the parsha. Therefore, they instituted that the Haftorah be similar to the parsha (Tur 284:1).
Kesef Mishnah (Hil. Tefillah 12:12) (Rav Yosef Cairo) tells us that originally, there was no set Haftorah for each parsha. They could choose whatever they thought was connected. Only later on did they make it fixed that couldn't be changed.
The Levush (284:1) explains how they made it resemble the parsha. Originally, they called up seven people to the Haftorah, corresponding to the seven people called up to the Torah each week.
For this reason, the Gemara in Megillah (23a) says we don't read fewer than 21 verses for the Haftorah. This is because halacha requires us to read a minimum of three verses per person called up to the Torah. If we call up seven people to the Haftorah, the minimum number of verses to be read in the Haftorah is 21.
The Shibbolei Haleket (44) offers an alternative explanation for why we read the Haftorah each Shabbos. Originally, each day, the Jews would stay in shul after the prayers to study different parts of the Torah, including the Neviim. When they needed to make more money, they stopped this practice on weekdays so they could go to work. However, the custom continues on Shabbos.