Преимущество заключается в том, что вы можете создавать графы объектов .NET декларативным способом (в основном для пользовательского интерфейса) и расширять его:
Представление любого общедоступного класса .NET Framework в XAML, если
класс предоставляет конструктор по умолчанию
Таким образом, легче объявить пользовательский интерфейс (чем из кода), легче отделить пользовательский интерфейс от бизнес-логики и легче работать вместе с другими командами.
Это гораздо более чистое решение, чем, например, создание элементов пользовательского интерфейса из кода C #.