I am trying to learn how to make small games, and every time I watch a video it says that we need to unwrap it, but they never fully explain what unwrapping does or why we do it. Is it necessary when exporting to UDK?
UV unwrapping is the process of 'unfolding' a mesh so that you can create a 2D texture which fits the 3D object. It is generally necessary if you wish to texture your object very accurately, either in Blender itself or in an external image editor. If the model is not unwrapped then Blender would have to use a different mapping method, but you generally have less control of how the image will be mapped using these methods and I do not think they would be compatible with game engines. For some uses, UVs might not be needed, but it is recommended if you need to add specific details.
In this example, the cube on the left has been 'unwrapped' to create the UV layout on the right:
The UV layout is the 2D representation of the cube, with each square on the right being a face of the mesh on the left. There are several ways to unwrap a mesh; the red lines on the cube on the left represent 'seams' which are where I have told Blender to separate the faces so it can be unfolded neatly.
While the mesh doesn't actually alter, you can think of this happening to create the UV layout:
I could then export this UV layout into an image editor, draw on top of it and then bring it back into blender:
When the texture is now applied to the object and the texture is set to use UV mapping (the unfolded layout), the texture will be folded back around the object:
UV unwrapping is a big subject but this should give you a starting point.
I do not use UDK, but I imagine that if you need to use textures you will need your model to be unwrapped.