Both presences from metaphysical, otherworldly dimensions, ghosts and spirits are the same in essence, as they are both from the same realm, and are made up of the same kind of energy. However, they can be distinguished from each other on certain subtle grounds.
To begin, they are different in terms of the purpose of their existence. A ghost is a departed soul that is stuck in the world, and unable to move onto the next realm. They have not glimpsed the Afterlife, and thus have not managed to take their learning process forward. However, spirits are entities that have managed to pass on to the next realm, and after having done so, have developed the ability to move fluidly between realms and dimensions.
This difference naturally leads to another – spirits are aware of the fact that they have passed on, and are much like sentient beings, retaining an essence of what they used to be when alive, amplified by the experiences they have undergone after death. Ghosts, on the other hand, are ominous beings and stuck souls, who are either unaware of the fact that they are dead, or tortured by this knowledge. Unlike spirits, they are stuck in the world, often cannot see or interact with humans, and repeatedly play out certain events, like their own deaths, or an act they might have performed when alive. Spirits tend to travel where they want at will, while ghosts are generally limited to the location where their deaths occurred.
Another major difference exists in terms of their auras or vibes. Ghosts generally have a negative connotation, and are referred to as a “haunting” presence. They can scare human beings, and may attempt to harm them. Spirits, on the other hand, are gentler, and may return to the world to aid human beings, or to comfort or warn someone, particularly if someone they knew when alive is in trouble. Spirits are fairly benevolent, while ghosts are angry, aggressive, frustrated, unhappy, and driven by the desire to hurt, frighten, or shock.