I like Lithunwrap, there are better programs but Lith is free and easy to use.
Really though, the major hurdle is understanding how texturing works, it can take a long time to learn how to texture well, you need a lot of patience, but the best way to learn is just to keep at it and look at other peoples texture maps too.
But, let's see if I can briefly explain how it works, then you'll know why your doing whatever your doing...
Every vertex in a model has 8 basic data components, X, Y, Z positions, X, Y, Z normals, and U and V coordinates. The positions are just the 3D location of the vertex, normals specify a vector and are used to distinguish the polygon direction among other things. UV are obviously texture map coordinates. The UV coords tend to be in the 0.0 - 1.0 range, because this information can refer to any image size, so it's more like a multiplier. 0.5,0.5 is always the centre of the texture, even if the texture is an irregular shape.
Now your standard polygon is made from 3 vertex's, and the vertex's can be shared between polygons, if 2 vertex's are in the same location, then they can be welded together, but they need to have the same UV coordinate as well, otherwise the vertex would need to be unique.
The most straightforward mapping method is decal or plain mapping, this usually involves specifying an axis, then the model is squished into the texture space, very easy to get results with this method but mapping a whole model this way would be tedious. If you were to decal map from the front of a model, it would simply transpose the X and Y coordinates of the vertexes onto the UV coordinates.
Other methods like box, cylinder, and sphere rely on the vertex normals to guage the UV coordinates - for example cylinder mapping would work out the meshes centre, then perhaps the angle on the Y axis and height of each vertex. There is often the option to specify a cap in cylinder mapping, if you had a model of a soda can, then this would be like cutting the top and bottom off, then rolling the can body out flat. Cylinder mapping is very useful when making character models.