[BP] Whats the difference between variable of class and object?

Here is an example of where you might use a Class variable in blueprints:

Notice the dark purple input pin on the Create node. That pin is expecting a class variable. Also, notice that in C++ that equates to TSubclassOf UObject. This idea of class variables is something Epic came up with for UE4 and this is not a built in system in C++.