Yes, but you are not new to FPC/Lazarus. I think most beginners don’t even think about this at all.
And we, as experienced people, forget about such little things...

I am, indeed, not a newcomer. I'm tempted to call myself an oldleaver, but dread to think how Google Translate will handle it :-)
Beginners quite reasonably expect that a facility will be represented by a single library and that they won't need to fiddle with names or paths to handle e.g. different widget sets. But somebody has to write that single library, which is where directives such as $ifdef and more-complex build systems come into play.
MarkMLl