The short definition
A normal map is an RGB image in which the red, green and blue channels store the X, Y and Z components of a surface normal vector. The values are mapped from the range -1..1 into 0..255, so a flat surface that faces the viewer encodes as roughly (128, 128, 255) - a medium red, medium green, full blue. That is why a normal map with no detail looks like a flat lavender colour.
Why normal maps are mostly blue
The blue channel holds the Z direction, which for a visible surface points mostly out toward the camera. Since that value is near the maximum, the blue channel is near 255 almost everywhere, tinting the whole texture blue-purple. Only steep slopes push red or green away from the middle, which is why sharp edges show as red or green lines.
Tangent space vs object space
Almost all game and 3D normal maps are tangent-space: the directions are relative to the surface and its UV layout, so the same map works on many meshes. Object-space maps encode directions in the model's own coordinates and cannot be reused across shapes. Tangent-space is what this site generates.
What normal maps cannot do
A normal map changes shading only - it cannot change the silhouette, cast geometry shadows, or move the outline of an object. For that you need displacement or actual polygons. It also cannot fix a bad UV layout or a low-resolution diffuse map.