This article put it very well: https://www.cnblogs.com/tracylee/archive/2012/10/15/2723816.html
This is a summary of what,
- Static link library directly included in the resulting executable files, dynamic link library (DLL) file in a separate folder with the executable, executable files and can be used dynamically unload DLL
- Use DLL can save memory, and because the DLL and EXE independent, single DLL file can maintain and improve the program's sustainability and scalability.