World space normal maps are very rarely used in games nowadays, but they can be used to create some nice textures, i.e. the blue channel shows how your model should bounce the light that comes from the top of the model. You can use this to add a painted light to the texture.

Keep in mind that the world coordinates change between applications: in Unreal, 3D Studio Max, and Blender the Z-axis is up, while in Maya, Modo, and Cinema4D, Y is up. This means that world space normal maps can break when changing between different applications.

Object space normal map: this is an upgraded version of the world space normal map, and it's very similar to the latter. The idea is that when moving the model in the world, its world space normal map would change to reorient itself relative to the object.

Think of it as "this face will bounce light to the right of the model". If you rotate the model in the world, the normal map would reflect this change. However, this doesn't work with deforming meshes, as it only takes into account the object transform. This is the reason that tangent space normal maps are more widely used today.

Bent normal maps: they basically combine the information of an AO and a normal map, bending the normal directions so that light tends to bounce towards the parts of the model that are exposed to the light.

These are basically used for improving Ambient Occlusion and avoiding an effect called "light leaking", where a model could bounce light from parts that light shouldn't reach. I never personally used them, but I would investigate them if I had a noticeable "light leak". You can find more info here, here and here.

16-bit normal maps: sometimes, if we have a very smooth gradient in our normal map, we can see some banding. This banding comes from the lack of enough colors to represent the smooth gradient, usually from texture compression.

Even then, sometimes we have a large and smooth surface and these problems appear even with an uncompressed texture. In this case, we can use 16-bit normal maps, usually as .tga files, which have more colors and are larger in size than the usual 8-bit normal maps.

You can learn much more about 16-bit normal maps from the god of tutorials himself, Earthquake.

Keep in mind that there are other techniques that can be used to mitigate this problem, such as removing the normal map altogether (use only geometry to represent this smooth surface), making the low-poly more similar to the high-poly so that the gradients are less noticeable, or using dithering.

So, which one should we use?

Mikk Tangent space normal maps are 90% of the time the best option. Unlike with world and object space normal maps, your model will be able to deform and the normal direction will remain correct.

You should bake your normal map using the same tangent space as the rendering program. The most used tangent space is Mikk, so you should use it when possible.

And, if your normal map is showing some pixelation, consider using 16-bit normal maps or one of the solutions mentioned above.

Those are basically all the normal maps I have encountered that I can remember. If you know about some other types of normal maps, let me know so I can include them in this tutorial!

P.S.: Thanks to Shnya for his feedback and help.