Extension methods in C# allow you to add new methods to built-in types like string without modifying their original code. You write a static method inside a static class, and the first parameter uses the 'this' keyword to specify which type you are extending. When you call this method on an instance of that type, the compiler treats it as a static method call but lets you write it as if it were an instance method. For example, the IsCapitalized method checks if the first letter of a string is uppercase. The execution steps show defining the method, calling it on a string, checking the string length, checking the first character, and returning the result. This makes your code cleaner and easier to read while extending functionality.