Texture - A 2D image that can be applied to a 3D object
Normals (in general) - The surface definition of an object
Normal textures - A 2D image that defines the surface definition of an object. This may be used to bend light around and make bumps along the surface, for example.
Material - A code used to shade a 3D object. Without materials, 3D objects only exist as polygons and vertices in space. The material defines what that 3D object looks like, and how it is rendered.
Parallax - A technique that bends a texture based on the viewing angle to give the illusion of depth along a surface.
Parallax Occlusion - A technique that bends a texture and occludes details to give the illusion of real depth along a surface using only 2D textures.
Displacement map - A texture to provide depth information to use in techniques like parallax, parallax occlusion, or tessellation.
How you decide to make your normal maps is up to you. Some people like to sculpt detail on a high resolution mesh in Z-brush and bake them down onto a lower resolution mesh, generating an accurate normal representation of the object. Others like to make normal maps by hand with tools like XNormal, and then paint texture maps like the color and displacement. But the end result must give you some way to bend the light around details in your mesh to provide a more detailed result than what can be obtained through polygons alone.
In the screenshot below, there are only 2 polygons: the appearance of depth and form comes from the normal maps and displacement maps in the parallax occlusion shader. No polygons.