The aggadic interpretation shared by many Jewish commentators is that the basis for the name change is that Moses prayed for Joshua. Indeed Rashi explains that he prays he be saved from the counsel of the spies.
Why he didn't pray for Caleb as well is a question many commentators who take this line have great difficulty understanding (see the Kli Yakar). Another problem with this line of explanation is why he couldn't simply pray without changing his name - not every prayer for someone involves changing a name (see the Or Hachaim). It's obvious that there are vastly more prayers said than names changed in the tanakh.
There are a whole host of alternate explanations regarding the details of the name change. The Tosfot quote Midrash Tanchuma explaining that Moses saw Caleb taking his portion of the land of Israel, and Joshua taking the portion of the remaining ten spies (the added letter having numerical value ten). Another opinion brought is that it's the numerical sum of the additions made to Abraham's and Sarah's names (ה to each makes two fives = ten). A slightly more literal explanation is proffered by Sforno, that Joshua will be saved and will save others - the new name being the future tense "he will save", without funny number stuff.
While these all seem like a nice story, I find this incredibly tenuous as a biblical understanding. A much more solid answer to this question is given by the Rashbam, who explains that the name change was traditional in the appointing of a second-in-command. He points to Genesis 41:44-45, and Daniel 2,4 for equivalents. This cross-references well and explains the significance here. It doesn't explain the meaning of the name change, although the Sforno's explanation above seems more than plausible even in this case.