Meshes are the actual geometry, they require a material to define what the surface looks like (color, reflectivity, etc.) Textures are just image files that are used within the material, so you could have an image that you make in Photoshop that you plug into a material that gets applied to a mesh. The Mesh uses something called UVW mapping, which is where the 3D model has a set of coordinates where it is flattened out so that it can use a 2D image as a texture, UVW is simply a way to refer to texturing coordinates (XYZ = UVW).
In a 3D program like Blender/Maya/3ds Max they each have their own way of making materials and applying them to a 3D mesh. Usually each program has a very simple type of material that has basic features like color and if you use those basic materials on your 3D model then when you export to UE4 it can import those materials.