If FindPathAsync successfully finds a path between its two points, the returned Path object will have the Status Success. Otherwise the status will be NoPath. NoPath occurs when there is no way for a regular sized Roblox character to move between the two points given to FindPathAsync. This can happen if there are obstacles between the two points with no way around, or if the points are inside of solid objects.
Paths have two functions, GetWaypoints and CheckOcclusionAsync. GetWaypoints returns a list of Waypoints that represent the points a character should follow in sequence to get from the beginning to the end of the path. CheckOcclusionAsync checks if the path is still good.