On Friday evening, kiddush (the sanctification of the shabat) is said over a glass of wine. It is customary to cover the bread for kiddush. The usual explanation given for this custom has to do with the order of brachot (blessings) before food. As kiddush is made over a glass of wine, the bracha (blessing) over wine ("borei pri haGafen") is said as part of kiddush. The blessing over bread is said after kiddush and hand washing (see my post about a typical shabat dinner). But in the hierarchy of brachot over food, the bracha over bread would come first. So by reciting first the bracha over wine, we "insult" the bread. In order to "spare the feelings" of the bread, we cover it. The purpose of this custom is to make us more sensitive to others. If we even care about the "sentiments" of something inanimate like bread, how much more should we care about causing embarrassment to a living being!
Another reason is to create the impression that the bread was brought out especially for the shabat meal. What I don’t know then is why the custom is not just to keep the bread in the kitchen and bring it out after washing hands. At most of the meals I have been, the rest of the meal is brought from the kitchen after hamotzi, so why not bring the bread with the meal and wait a few seconds with hamotzi?
And, last but not least, the most poetic explanation: When the manna fell in the desert, it had a layer of dew above it and a layer of dew below it, to keep it fresh. The tablecloth and the cover over the challa thus remind us of the manna and the dew (Chabad: Why Do We Cover the Challah Bread on the Shabbat Table?).