When should I use different tracker motion models when motion tracking?
The Motion Model switch tells the motion solver for which motion it should look (Blender Documentation). You kind of need to think backwards here. For every camera movement you want to track - which transformation does this cause to the projected image on the sensor which the tracker actualy sees.
Each additional dimension you tell the tracker to look for, the longer it needs to compute
Depending on the implementation (sorry I didn't test it) the more markers you need in theory. For translation you only need 1 for rotation and scale at least 2. 

If you enable "Location only" it will only look for changes in translation. For example if you dolly your camera parallel to a wall and want to track something on the wall, you don't need to look for any rotation or scale changes.

For each of the settings you enable different dimensions of movement for the tracker to look for.


Loc, Rot are pretty self explanatory. Use them when your camera keeps exactly parallel to the surface you want to track. Or other way around if you only move and scale things on a surface relative to your Camera.

If your camera is parallel to the surface and you also want to track for zoom you need to enable Scale.



"Affine"-transformation results in shearing of the image. So this settings enables the tracker to approximate perspective. 



Lastly Perspective tracking enables the tracker to properly track in all dimensions. Use this for free camera movement.