They are complementary: if you don't make the units "smart-linkable" then they can't be "smart-linked", and viceversa: if you don't smart-link then it doesn't matter whether they are "smart-linkable" or not.
HTH
So why not just merge them into one single option?
Because they are, conceptually, different operations: one happens when compiling and adds some overhead into the object files. The other happens when linking and it may not always be desirable (e.g. for debugging/profiling purposes).
I have another question, what is linking? It is for debugging?
When compiling a program each unit is compiled to its own .o/.ppu files. Once that is done for everything all those bits and pieces have to be "joined" together to create the executable program: that proces is called linking. That allows you, for example, to use the same unit (like say, System, SysUtils, etc.) without having to recompile all of them every time.
I tried to imagine the obj files are something similar to Turbo Pascal TPUs, or later DCUs, ...
The equivalent to a TPU or DCU in Free Pascal is the combination of the object file and the unit description file (.ppu).
Having a "TPU/DCU" divided in two files has some advantages; for example, it allows you to use a standard linker, like
ld, instead of having to rely on (and build!) a dedicated one embedded in the compiler, as happens with Borland's Pascals