I'll start by defining what a "normal" is, assuming you don't know what it is.
A normal is used to tell game engine where a mesh's face is "looking". An ordinary PlaneMesh that has not been rotated at all will have a normal that is
Vector3(0, 1, 0) (equivalent to
Vector3.UP). The physics server and the visual server use this information -- the physics server for doing physics-y stuff, and the visual server to calculate lighting effects, as well as triplanar texturing.
Now that I've described it (or if you already knew it), the
get_floor_normal() returns the normal of the floor the body is standing on. If you want to root your
KinematicBody to the sloped surface of a ramp, you can use
KinematicBody.get_floor_normal() to get the normal of the ramp, then have gravity for
KinematicBody move the body in the opposite direction, thus rooting the body in place.
Maybe you want to make a jump pad. Using
KinematicBody.get_floor_normal() will tell you where to push your
Really, there are more than likely more uses for
get_floor_normal than I've listed, but those were just some things I came up with on the spot.