I know the difference between static and dynamic linking. I know why the notion of a library is important. And I even know why you'd want to link something like OpenGL, platform-specific APIs, or OpenSSL dynamically; lots of applications use them (possibly simultaneously), so why load them into memory more than once?
But suppose I'm using a small C++ library I found on GitHub. It's useful and (to the best of my knowledge) bug-free, but far from famous or widely-used, so odds are pretty good that my program will be the only one on a user's machine that uses said library. I could link it either statically or dynamically; in such a case, why would I want to link said obscure library dynamically?
Also, let's say that my project is open source.