although the conclusion is pretty obvious (they're a species), I still like to go into detail about how we know this.
To know wether they're real ghosts, or just pokemon species, we have to know how they came to life. Since you can breed i.e. two gengars, and get a baby gastly out of an EGG, we can draw the conclusion that they're just species.
If they were ghosts, we would have to kill a pokemon in order to obtain a ghost pokemon.
BUT, there is a catch. spritomb's dex entry says it's made out of spirits, so that makes it a real ghost, doesn't it? now you can breed a spiritomb. the babies come out of eggs, so these would most likely not be made out of spirits.
or do they, when they are born, get life energy from these spirits? that they die once the energy of these spirits is all used up?
now there's also the pokemon tower. remember the pokemon tower in kanto? you couldn't find real wild pokemon there. only (pokemon) ghosts, which scared your pokemon so much that they couldn't battle.
at the top of the tower, there was mother marrowak. also a ghost. or at least a spirit.
so we come to the conclusion that ghost pokemon are just pokemon species. but there also are pokemon ghosts. the spirits of dead pokemon. these can not be caught.
~ Fang