Can anyone describe the purpose of the following tools and difference between them?
The fhir-net-api is the GitHub repository for the official .NET API for FHIR. You can use this API in your .Net solution. It provides you with the FHIR model, a FhirClient with methods to do CRUD and searches, parsing/serializing methods, etc.
SMART on FHIR is a platform that provides you with FHIR profiles and a way to more easily integrate apps with clinical data, including methods to do authorization. They also provide an app gallery, where you can host your own app.
So you can develop apps/applications with both and lots of work has been done for you already, but you'll still have to do the work to create your own app logic.