If I have a project that requires something, I can write it myself. Whatever it is. It doesn't matter. That's not the issue.
I do like to choose FPC / Lazarus, when I have the choice. And it does tend to be the best / fastest choice. And for a bonus, it's free as well.
But it is very focused on single-task, database aware desktop applications. And while that certainly fit the bill of most applications I wrote 15 years ago, it doesn't anymore.
Almost every application, even if it is a simple tool, has interactions with many different platforms. From embedded, through databases to web. And I would really want to write it all in FPC / Lazarus. And regularly, I can, but only if I chop it up into multiple, independent applications, all with their own target. There is no awareness or interaction between them.
But, Frank, you're asking too much! That's not what Free Pascal is about! It is about porting the 15 year old VCL to as many platforms as possible, as LCL. And that's it!
Hm, yes, ok. So, no $3 WiFi targets, no splitting the workload between different tasks, and only a small chance of an independent GUI for embedded targets out of the box. DIY.
But still a large chance of implementing everything Delphi, even if it is extremely questionable if they have taken smart decisions about the developments in the last decade.
And the reason I choose FPC / Lazarus, is primary the rich library that is consistent and works out of the box.
That's also one of the reasons why I regard C++ as a language for masochists. Next to it being unreadable (the interpretation of everything depends on the scope and pre-processor) and encouraging you to shoot yourself in the foot. Not that I'm not often required to use it, because everyone and their manager thinks that's the smart choice, because it is what they think everyone else is using.
In C++ the choice is simple: you do have to write everything yourself. And in Lazarus, I have to write more and more myself as well.