We can see that Kaleb as well as Yehoshua tried to convince the Israelits not to believe to the spies and enter the state of Israel. Moreover, it seems that Kaleb was more dominant in his trial to convince: "וַיַּהַס כָּלֵב אֶת הָעָם אֶל מֹשֶׁה וַיֹּאמֶר עָלֹה נַעֲלֶה וְיָרַשְׁנוּ אֹתָהּ כִּי יָכוֹל נוּכַל לָהּ" (במדבר, ל). In addition, even G-d liked him: "וְעַבְדִּי כָלֵב עֵקֶב הָיְתָה רוּחַ אַחֶרֶת עִמּוֹ וַיְמַלֵּא אַחֲרָי וַהֲבִיאֹתִיו אֶל הָאָרֶץ אֲשֶׁר בָּא שָׁמָּה וְזַרְעוֹ יוֹרִשֶׁנָּה" (במדבר, כד). So why finally Yehushoa was chosen as a leader and not both of them (one after the other, for instance)? In addition, thanks to @Dov, that mentioned: that Tosefta at the end of Kerisus here - which notes that Yehoshua and Kalev were equal to one another בלתי כלב בן יפונה הקנזי ויהושע בן נון מלמד ששניהן שקולין זה כזה.
Two main answers that can be brought are as follows:
1) He represented the mesorah (tradition) of Moshe
Yehoshua was Moshe's primary student and was therefore the natural successor.
He was a great sage in his own right that consequently made him a worthy leader. It writes in Mishnas Rebbi Eliezer 13 - (line 12):
אף יהושע לא נתגדל אלא שהיה עוסק בדברי תורה תמיד
Yehoshua was made great only because he constantly engaged in words of Torah
And this learning was often elaborating on the words of his teacher Moshe. The Yerushalmi in Shekalim 2:5 writes:
כתיב (יהושע י״א:ט״ו) כאשר צוה ה' את משה עבדו כן צוה משה את יהושע וגו' וכי כל דיבור ודיבור שהיה יהושע יושב ודורש היה אומר כך אמר משה אלא יהושע יושב ודורש ויודעין הכל שהתורה של משה
It writes (Yehoshua 11:15) "Just as Hashem commanded Moshe his servant so too Moshe commanded Yehoshua etc." - and when Yehoshua sat and expounded on each and every statement, he would say "So says Moshe", as Yehoshua would sit and expound, everyone knew (that he was expounding) the Torah/teachings of Moshe.
Therefore, it would be fair to say that he represented the next link in the chain of tradition, as it says succinctly in the opening Mishna of Pirkei Avos 1:1:
משֶׁה קִבֵּל תּוֹרָה מִסִּינַי, וּמְסָרָהּ לִיהוֹשֻׁעַ, וִיהוֹשֻׁעַ לִזְקֵנִים, וּזְקֵנִים לִנְבִיאִים, וּנְבִיאִים מְסָרוּהָ לְאַנְשֵׁי כְנֶסֶת הַגְּדוֹלָה. הֵם אָמְרוּ שְׁלשָׁה דְבָרִים, הֱווּ מְתוּנִים בַּדִּין, וְהַעֲמִידוּ תַלְמִידִים הַרְבֵּה, וַעֲשׂוּ סְיָג לַתּוֹרָה:
Moses received the Torah at Sinai and transmitted it to Joshua, Joshua to the elders, and the elders to the prophets, and the prophets to the Men of the Great Assembly. They said three things: Be patient in [the administration of] justice, raise many disciples and make a fence round the Torah.
2) He was Moshe's משרת - personal aid
נֹצֵ֣ר תְּ֭אֵנָה יֹאכַ֣ל פִּרְיָ֑הּ וְשֹׁמֵ֖ר אֲדֹנָ֣יו יְכֻבָּֽד׃
He who tends a fig tree will enjoy its fruit, And he who cares for his master will be honoured.
The Midrash elaborates that Moshe's position was specifically not inherited by his sons but by Yehoshua and this was because - "וְשֹׁמֵר אֲדֹנָיו יְכֻבָּד, זֶה יְהוֹשֻׁע, שֶׁהָיָה מְשַׁמֵּשׁ אֶת משֶׁה בַּיּוֹם וּבַלַּיְלָה" - "'He who cares for his master will be honoured' - this is Yehoshua who attended Moshe day and night."
The Midrash then writes later in Bamidbar Rabbah 21:14 that it was this role of attendant that made him the worthy candidate to serve as the next leader of Israel. As it concludes there:
הוֹאִיל וְהוּא שֵׁרֶתְךָ בְּכָל כֹּחוֹ, כְּדַאי הוּא שֶׁיְּשַׁמֵּשׁ אֶת יִשְׂרָאֵל שֶׁאֵינוֹ מְאַבֵּד שְׂכָרוֹ
Since he served you with all his strength it is worthwhile that he serve Israel, that he doesn't lose his reward.
The book Hege Yona (Jerusalem 5756), by my grandfather-in-law Rabbi Yona Munk, explains that Y'hoshua, described as tolerating everyone's personality (Rashi to Pin'chas 27:16), was of a nature to be influenced by them, whereas Kalev, described as having "a different spirit" (Sh'lach 14:24), was not.
Perhaps this was also what made him a better choice for a leader: someone who can tolerate the disparate people he must lead.
Rashi in his commentary to Avot 1:1 writes:
ולמה נאמר ומסרה ליהושע ולא לאלעזר ולפינחס ולא לשבעים זקנים המתנבאים במחנה שלא רצה למסרה אלא למי שהיה ממית עצמו מנעוריו באהלי חכמה וקנה שם טוב בעולם וזהו יהושע שנאמר יהושע בן נון נער לא ימיש מתוך האהל ואף על פי שכתוב על פינחס תורת אמת היתה בפיהו וגומר
And why does it say "and he gave it to Joshua" and not to Elazar and to Phineas, and not to the 70 elders who were prophesying in the camp? Because he did not want to give it except to one who had killed himself from his youth in the tents of wisdom , and acquired a good name in the world, and this is Joshua, as it says: "Joshua son of Nun, a young man, did not depart from amid the tent. And [this is] even though it is written of Phineas "the Torah of truth was in his mouth" etc.
He just fitted the job!
Exodus 17 portraits Yehoshua as a (military leader) who fought against Amalek. Exodus 24 teaches that Yehoshua was the attendant of Moshe, Moshe must have thought him a lot about the leadership G-d gave him. Exodus 32 seems to teach Yehoshua was the closest to Moshe when the people build the golden calf. Exodus 33 teaches he would not stir out of the Tent of meeting, which shows he was a real spiritual person who probably learned a lot of Torah, got knowledge of the words G-d shared with Moshe etc. He was the ideal student who became the teacher so to speak.
This man seems to have stand on a really high spiritual level, maybe partly/somewhat comparable to Moshe our Teacher. Kaleb did good, but it becomes clear he probably did not have the same personal attributes, qualities, and skills as Yehoshua, nor did he enjoy the same ‘study and education’ as Yehoshua did.