/lib
contém bibliotecas "essenciais" que podem ser necessárias mesmo no modo de usuário único (somente administrador) e sem /usr
montado
/usr/lib
são as bibliotecas dos programas de usuário normais, que podem ser encontrados principalmente em /usr
.
/usr/local/lib
são as bibliotecas para programas e pacotes instalados localmente, por exemplo. coisas que você compilou e instalou a partir dos pacotes-fonte.
Além das bibliotecas compartilhadas e estáticas, que são a finalidade principal dos diretórios lib, você também pode encontrar algumas hierarquias (com suas próprias lib, bin, include e assim por diante) para alguns pacotes maiores sob elas.
lib32
e lib64
são usados em sistemas de 64 bits para separar bibliotecas de 32 e 64 bits.