FPC is a compiler of its own.
But it compiles the same language, and it has a compatibility mode, that can compile many (but not all) Delphi projects just as they are.
Similar if you have a Delphi project, and it uses the "VCL" then you need the LCL as replacement, which in some case can be a one to one replacement, but other times needs some changes.
It is possible and some people have done it, to write code that can be compiled in Delphi and Lazarus/FPC without need of changes. Though often small details need IFDEF.
It also depends which version of Delphi you compare with. If you are comparing to the latest Delphi, then there are differences.
Details like dotted unit names, and widestring RTL are only available in the development branch of FPC. They haven't yet been released.