Razor Pages are a page-based approach for building server-side rendered apps in ASP.NET Core that offers a "cohesive" and more maintainable alternative to traditional MVC. They provide the same functionality as MVC, but with a different model that acts as both a mini-controller and view model for the view. Each Razor Page contains all of the UI code associated with a given Razor view, using page handlers to respond to requests. With Razor Pages, you can create a more cohesive codebase and improve development efficiency. They are highly customizable and can be used seamlessly in the same app as traditional MVC or Web API controllers. The main benefit of Razor Pages is their improved maintainability and cohesion, making them a good fit for new development projects, while traditional MVC may still be suitable for existing apps that don't require these benefits.