Why does the verse say that he fought many days?
Rashi, citing Tanchuma: It is a criticism. He intended to delay the conquest, in order to extend his life 1 , for it says "you will make them inherit" (1:10).
Malbim: This teaches that verse 12 does not mean that he conquered all the cities at once, like regarding the five kings.
Malbim (19): Hashem arranged this. This is why no city (except for the Giv'onim) made Shalom with Yisrael (verse 19). Had Yehoshua fought the cities immediately after defeating the Klal (the kings of the north who joined together), they would have requested Shalom, and we would have been forced to accept them (if they accept their seven Mitzvos, taxes and servitude). Since Yehoshua fought many days, their hearts hardened (verse 20), and they did not make Shalom.
He understood that as long as he (Moshe's Talmid) is alive, it is as if Moshe is alive, and Bnei Yisrael will not sin (refer to Devarim 31:29:1:1). Even so, he was punished! (PF) Radak - Hashem said, I will be with you, like I was with Moshe. Yehoshua should have lived to be 120, like Moshe. He died 10 years early, for he was unlike Moshe. Hashem told Moshe to take vengeance against Midyan, and afterwards he will die; Moshe did so immediately. Yehoshua intended to delay, in order to live longer! David said about this "Rabos Machashavos b'Lev Ish va'Atzas Hashem Hi Sakum" (Mishlei 19:21. Why do Tanchuma and Radak attribute this to David? Bamidbar Rabah (22:6) properly attributes it to Shlomo. - PF)
Here it says that he fought many days. Above (10:42), it says "Pa'am Achas", i.e. the war did not stretch out. He conquered all of them at once!
Radak: The kings mentioned there, he conquered at once. After that, he returned to Gilgal, and fought many days with the other kings until he took everything.


