Чего непонятно-то:
для static не нужно либов при исполнении -> бинарник больше
для dynamic либы не включаются в бинарник
(нужны будут при исполнении) -> бинарник меньше
ну и так далее ... (со всеми вытекающими +/-)
libMy_lib.a -> static lib.
libMy_lib.so -> dynamic lib.
If you have both .so and .a libs, then
by default cc myfile.c -lmy_lib will link a
dynamic one, -static forces static linking.