From one of the paragraphs in this article (quote below), I like the idea of not fully depending on the Revit API, or any library, for performing geometry operations. It is great to leverage the available tools, but also knowing that if needed we can put together from scratch the methods and classes required for achieving a certain objective is great. So if one day we’re working with a different software and the libraries we’re used to are not available, we can build the missing tools ourselves.

determining … is actually very simple, and this is an important instrument to have available in every CAD programmer’s toolbox

I am not saying I love to reinvent the wheel - just mentioning that it is a good practice to keep a record of ways of solving common problems in case we need to implement them from scratch in a project in the future.