The best way to map an image to a cube is to first of all think of a cube as a box that you have flattened out. similar to packaging for most products you buy in the shops, i.e. you pull away the glue of the edges and fold it open flat.
By UV mapping you’re essentialy working backwards the way the box/package, carton was made in the factory.
Using the Edge selection mode, select the edges you might cut the box to open it up flat with, then hit the ‘spacebar’ and type the word “Seam” into the search box - Select “Mark Seam”.
This will highlight the edges you have selected in a redish colour.
In one of the views press the key “U” to unwrap
Open the UV editor and if you chose decent edges the box will be laid out flat in the UV editor with all the available sides. If not try again steps 1 onwards.
If you find that you need to align parts of the UV unwrap, there is an align option in the Specials menu “Key W”.
You can move around the UV layout by selecting just as you would do in the 3D window - all keys work the same, G=move, etc.
In the UV menu select “Export UV image” and save it as something useful, such as “cube-UV.png” etc
Open you favoutirte image editor that supports layers, Gimp, Photoshop, PS Elements, Paint.net etc. and open up the UV image you saved.
You now have a guide for adding your image texture (place the texture underneath). Re-save when done, without the UV lines and flatted with no layers.
Back to blender, import your new UV Textured image into the UV window.
As you’ve done the rest already applying the texture then I won’t go into that detail.
Hope that’s not too complicated, there are a few other quicker methods, but this is the most controllable. Any questions, feel free to ask.