Sitefinity constructs pages via the Page Editor with “drag and drop” support. Even users with little or no coding skills can easily build pages. Behind the scenes these widgets and their configurations are stored in the Sterility database as a meta model. The renderer can consume this model via REST services, parse it and construct a page for the specific set of widgets. It then renders the page in HTML and returns it to the end user.
These pages are based on templates coming from the Renderer. In the case of the .Net Core renderer, they are MVC Layout files in the file system. These layout files are available to choose from when creating a page. If a page is based on one of these layout files, the renderer will be able to render the page.
The standard approach to extending the Sitefinity frontend is to write custom widgets or configure/override the logic of the prebuilt ones. The corresponding elements for widgets in .Net Core are ViewComponents. Widgets that are available in the drag and drop editor correspond to the ViewComponents classes in the .Net Core Application.