Navigating through the Bukkit API documentation
We can go through the Bukkit API documentation to get a general idea of what we can modify on a Spigot server. Server-side plugins are different from client-side mods in that we are limited with what we are able to modify in the game using server-side plugins. For example, we cannot create a new type of block, but we can make lava blocks rain from the sky. We cannot make zombies look and sound like dinosaurs, but we can put a zombie on a leash, change its name to Fido, and have it not burn in the daylight. For the most part, you cannot change the visual aspect of the game, but you can change how it functions. This ensures that everyone who connects to the server with a standard Minecraft client will have the same experience.
For some more examples on what we can do, let's have a look at the various pages of the API's documentation:
You will see that the classes and interfaces within the API are selectable in the lower left section...