Host means the system you are developing with. It can be QNX (Self Hosted) or Windows/Linux using Momentics (Eclipse).
Target typically means an embedded system that you are developing for. A target system can be very simple, processor/memory/ROM or like a desktop with video/network/hard-drive etc.
For a long time QNX has supported a self-hosted environment. That is the host is running the same OS, QNX as the target. IMHO this had great advantages during development. You can see if something runs by compiling and running it instead of cross-compiling, copying it to the target, and remotely running it. It also encourages developing tools for you specific development without requiring the use of two different systems. Unfortunately QNX doesn’t see this, and appears to be moving away from self-hosting. They’ve announced the deprecation of Photon with no desktop replacement. Sorry for the soap box here.
If your target is the same as your host you can develop in two stages.
Write and test all your programs
Create a 2nd partition on your hard drive, copy only needed files to this partition and boot from it.
The results from 2) is an image that you can export to target only systems, presumably what you want to sell.
You can do step 2) by trial and error. For example, when you first boot off of the target, you might find that you are missing a dll. No problem, just reboot the host partition and copy it over and test again.