Hello Mike,
For assembly projects, what you need to explicitly include, and what can be done via the project file and the linker would depend to a large extent on whether the code format is absolute (no linker) or relocatable. However, C projects are generally relocatable.
Using the linker to sort out which functions need to be incorporated within the code output can potentially avoid errors due to multiple definitions of the same function, that can occur with multiple includes of the same file.
I assume that a further advantage of using the linker is that functions within a file that are compiled, but remain unused by the project, will actually not be linked into the generated code. This applies to library functions, and I am assuming it is generally applicable.
Regards,
Mac