"Ghost" is more formal ("spirit" being the most formal). "Spook", when referring to a ghost, is considered slang.
"Spook" is also a verb meaning to frighten someone or something.
"The horses were spooked by the loud bang."
"Spook" is also a slang term for a spy, usually from the U.S. Central Intelligence Agency.