Realmente não existe uma definição concreta para nenhum dos termos (ou para o termo relacionado "estrutura", nesse caso). Existem centenas de maneiras diferentes de interpretar as diversas distinções sutis nos pacotes de software e atribuir-lhes classificações.
Pessoalmente, vejo uma "biblioteca" como algo que fornece um conjunto de funcionalidades relativamente pequeno e direcionado, enquanto uma "estrutura" fornece funcionalidade mais ou mais ampla, e um "mecanismo" fornece a mesma (ou mais) e normalmente possui um conjunto de ferramentas associadas que acompanham.
Eu já vi muitas interpretações pessoais dos mesmos termos de outras pessoas para me sentir seguro, sugerindo que um "mecanismo" fornece mais ou mais funcionalidade do que uma "biblioteca" normalmente ... mas onde você desenha essa linha para o seu próprio software Cabe a você.