There are several different types of Blueprints that you can create, however before doing so you will need to specify the Parent Class in which the Blueprint will be based.
Selecting a Parent Class allows you to inherit properties from the Parent to use in the Blueprint you are creating.
Below are the most common Parent Classes used when creating a new Blueprint:
An Actor is an object that can be placed or spawned in the world.
A Pawn is an Actor that can be "possessed" and receive input from a Controller.
A Character is a Pawn that includes the ability to walk, run, jump, and more.
A Player Controller is an Actor responsible for controlling a Pawn used by the player.
A Game Mode defines the game being played, its rules, scoring, and other faces of the game type.
While the above are the most common, all existing classes can be used as the Parent Class for a new Blueprint (even other Blueprint Classes).
For example, say you created an Actor Blueprint called Animals and in it provided some script that all animals share such as Hunger, Thirst, Energy, or whatever script you wanted. Then you created another Blueprint called Dogs and selected your Animals Blueprint Class as the Parent Class; you can then provide specific functionality that applies to only dogs within the Dogs Blueprint such as Play Fetch or Roll Over while inheriting the functionality that all animals share from the Animals Blueprint.