When using a Cast To node in Blueprints, put simply, you are attempting to check if the object you are casting from is the specific object you casted to. In other words, say you have created a special Character Blueprint (called MyCharacter for example) that has variables in it or other custom functionality contained within it and assigned it as the Default Pawn Class (or the Character Blueprint all Player Characters use by default).
If you want to access properties of the Player Character from another Blueprint, you can use the Get Player Character node and affect the Player Character in very general ways (setting/getting its location, rotation, etc.) but you cannot access any of the custom functionality you have added to the MyCharacter Blueprint you have set up as you are getting the Player Character but not a specific type of Character.
By using the Get Player Character node, then using a Cast To MyCharacter node (the special Character Blueprint), you can then say if the Player Character is MyCharacter, let me access the Variables, Functions, Events or any other special functionality contained within that Blueprint.
On this page, you will learn about some of the use cases for Casting, see an example for using a Cast To node, read about Target Blueprint Casting as well as other types of casting.