Code completion will not work means that when you start typing the function name in your code, you will not get the complete function name offered by the source editor.
If that is the case, it can be inaccurate and improved to not require FPC source code. Let me explain.
Inaccurate: If it uses the source code to determine function names and properties,
and you are using FPC Trunk code, but a slightly older FPC Trunk
binary, the source code could show a function or property, but that
isn't already in the current FPC Trunk binary.
Not requiring FPC source code: CodeTools could be improved to actually read the compiled .PPU files
directly. FPC already includes a console utility to show how to do this.
This also means that CodeTools will not have the previous issue
mentioned. The FPC binary selected and the related .PPU files will
always match and give a true view of what methods or properties
are available when you hit Compile.
The other point is that not requiring FPC source code, means you will save a lot of disk space - that could be very important for certain platforms.