Should you distribute your C++ API as a static or dynamic library ? The answer to that question is not straightforward and will depend on a number of factors like:

Does the client application using your library have size limitations on disk ? Does your client application need to reduce linking overhead ? Does you client application need to control when the functionality is loaded in process space ? Is it convenient for your client application to package and distribute multiple DLLs ? Some asset management system for certain game engines can make this problematic. Does your client plan on patching the system frequently like Windows does ?

and many more...

Even if the answer to the above question is not obvious, it is useful to note down the differences between static and dynamic libraries such that next time you can use this checklist to determine is a static or dynamic library is better suited for your API.