Ghosts are mobs and npcs?
Mob = Mobile Object
Ghost = EverQuest2 term for client side representation of a Mob

Ghosts include NPCs, Players, ?s, and Resource nodes. There is a separate grouping called SignWidget for things like mariners bells, shop signs, etc.

So a ghost create command is sent everytime an NPC needs to appear on the client screen?
Yes, whenever any ghost comes into range the server sends an EqCreateGhostCmd packet to the client. While the ghost is within range of the player, the server sends EqUpdateGhostCmd packets for that ghost. When it leaves your little area, the server sends an EqDestroyGhostCmd packet.

I dont think that zone geometry impacts it at all, but It does appear to only give you new ghosts within your view frustum. Im not 100% on this, just looks that way from what I have seen.

Some other ghosts are sent to you regardless of range, for example your group mates
This is accurate, you will get ghost info for anyone in your group regardless of where they are in the zone.