The code and platform

I am trying to understand the platform word being used in configuration. yaml or anywhere else. Does it mean HA will look for directory name matching that name in components directory or it will go through manifest.json to find name matching domain?

Does it mean each component can have only one platform? Also when I say add integration, it shows up integraton name. Where does it looks for what is shown. For example for sony projector, it shows the following.

Also, why sometimes for example sony projector and tcp components they ask you type in configuration. yaml with platform, but not others. Appreciate it.