Routing allows for easily readable URLs in ASP.NET MVC applications. As applications grow larger, URLs can become complex and difficult for users and developers to understand. Custom routing allows developers to define URL patterns and constraints to control how URLs are generated. The routing engine matches incoming URL patterns to routing rules defined in the application and determines which controller and action to execute. Developers can define multiple route rules from most specific to default to ensure the desired actions are executed.