Extension methods are needed when you want to add new methods to existing classes but cannot change their code. For example, the string class in C# is built-in and sealed, so you cannot add methods directly. Instead, you write a static method in a static class with the 'this' keyword before the first parameter type. This tells the compiler to treat it as if it were a method of that type. When you call the method on an instance, the instance is passed automatically. This way, you can extend functionality cleanly without modifying original classes. The execution steps show defining the extension method, creating a string, calling the method, and storing the result. Variables track the string and the count of words. Key moments clarify why direct modification is impossible and how the 'this' keyword works. The quiz tests understanding of variable values, method definition step, and the role of 'this'.