Flux pinning mechanisms in type II superconductors