Extension methods are one of the very nicest of the “pragmatic” features that Kotlin added. In Java, you’re forced to accomplish the same functionality either by hacking your way into the core “Person” class, or by writing a static method somewhere that takes your Person as its first argument. Kotlin extension methods are a beautifully simple syntactic sugar that converts those static methods into something that feels like an instance method on Person, making the subsequent code read much cleaner without violating the abstraction boundaries that Person sets for itself.
The only downside, I suppose, is that blurring extension methods and normal class instance methods might lead to some confusion on the programmer’s part, if you were to try to extend your Person class and override a method that, oops, turned out to only be an extension method. With all the goodies that IDEs provide to help you with this sort of thing, I wouldn’t stress out about it very much.