Cross-Origin Requests (CORS):
The CORS only applies in a browser context and is a security mechanism to allow one origin to make a request to another origin. All browsers follow the Single Origin Policy, meaning by default scripts cannot make requests to other origins - but if the server provides properly configured CORS headers this policy can be selectively relaxed.
More detail information about CORS, see Enable Cross-Origin Requests (CORS) in ASP.NET Core.
Cross-Site Request Forgery (XSRF/CSRF) attacks
The CSRF is an attack that the malicious site will use the authenticated user's information (such as authentication cookie, authentication token) to execute unwanted actions on a web application. You can check the detail information from Prevent Cross-Site Request Forgery (XSRF/CSRF) attacks in ASP.NET Core.
In my opinion, if you want to make the Application more security, you could use both of them.
Reference: Does a proper CORS setup prevent XSRF?