Yes, they keep the heat that your body emits closer into your skin which helps insulate you against the cold. They also keep wind from coming in from your outer layers and making you cold.
It does, but the material matters. Cotton is the most common, but it doesn't wick moisture away from your skin. Merino wool or polypropelene will keep you warmer longer.