If you are involved in high-performance computing, you may have examined the source code of mathematical libraries, much of which is written in assembly language.
I have already written that our application among other things uses a lot of calculations for signal processing.
Experimentally it was found that the same algorithms compiled in VC++ for Win work almost twice as fast. Why this happens is obvious from what was given in this forum thread.
To achieve comparable speed on FPC or Delphi, some characters of this forum suggest manual optimization or even rewriting critical parts in assembler. But why?
It is much easier and much faster for us to write these parts of the program as C++ libraries. And the result is still better.
And now if we go back to the question, why isn't Lazarus(FPC) so popular?So let's at least outline for ourselves the niche for Lazarus.
On the one hand, it is naive and does not require a managed environment for execution, but on the other hand, my opponents tell me that C++ also native, but generate more fast naive code.
Then why they should bother with hand memory management and so on if the performance of Lazarus apps is actually not higher than in f.ex. C#?
On the other hand Lazarus provides a good and free IDE with many libraries and components. But my opponents can say that VS Community Edition is also free and even more convenient (of cause if only on Win).
And there is also conditionally free Qt for C++, where the library is much more extensive, there is a more modern approach to interfaces ( QML ). And so on.
Yes, from the point of view of a completely free license Lazarus will definitely win, but is it so important for a serious commercial project? Licenses are usually cheaper than programmer salaries and other overheads.
What can be written in Lazarus FPC that could not be written in, for example, C#? I don't have an answer. The speed is almost the same. Computational algorithms +/- run at the same speed.
Maybe only very heavily loaded servers are better written in a naive language with no gabage collection. But practice shows that C# and even Node.js can handle such tasks quite well.
More then there are a huge number of commercial and free libraries on the C# side. And you can make projects directly for WEB out of the box (ASP.NET / Razor / Blazor ).
If only backend, then .NET Core is as free as Lazarus.
P.S. Sorry, but I'm not interested in discussing who is a fan of a particular programming language. 
So in connection with the above:
let's start by admitting at least to ourselves that it's primarily about programming language. Most of us are old enough. We've liked Pascal language since school or university.
And we like the approach of creating interfaces interactively rather than declaratively, even though LCL/VCL interfaces are becoming obsolete.
Can FPC/Lazarus become more popular against this backdrop? I don't know. Time will tell. There needs to be a serious investsments. But where to get it from in an opensource project?
IMHO If Delphi manages to rise in popularity Lazarus will rise with it.