What is the difference between a CraftBukkit (Bukkit) server, Spigot and a "vanilla" Minecraft server?
Vanilla minecraft has no support for plugins.
A "vanilla" Minecraft server essentially means that it is unmodified and is in the original format direct from the creator (Mojang). You can download this version directly from the Minecraft website.
CraftBukkit is a modified version of the vanilla Minecraft server files. The Bukkit team has modified in such a way that it allows for plugins to be used with the game. This is both a blessing and a curse. It is good in that you are able to use plugins to expand what is possible with a vanilla server and to make gameplay more enjoyable. However, since CraftBukkit and all plugins are created by third parties and are unofficially supported, there are bound to be bugs which can cause anything from lag to server crashes. Despite the issues, the fun factor usually outweighs the problems.
Spigot was created from the CraftBukkit source code, but has been highly optimized for performance. Spigot is generally a better choice for both large and small servers, as it will use memory and CPU much more efficiently than CraftBukkit. Spigot also runs more efficiently than Vanilla, even if you're not using any plugins. However, Spigot is prone to bugs.
The separation of vanilla Minecraft, CraftBukkit, Spigot and plugins is what causes a lot of problems whenever Minecraft is updated. Since CraftBukkit and plugin developers do not work directly with Mojang (the developers of Minecraft), they have to wait for the update to come out first, just like all regular users. Thus, whenever Minecraft is updated, CraftBukkit may have a delay of several hours to a few days before they can even release an experimental (read: unstable) build. It takes a bit longer for a recommended (read: stable) build to be released. Once CraftBukkit has reached a stable build, that is when plugin developers will actually start to update their plugins to support the latest CraftBukkit properly since experimental builds of CraftBukkit change too often for them to keep up.