Xaml considers what happens to the visual appearance of a button when you roll over it or click it a part of the definition of the button itself, and not part of the underlying user interation code.
This means you can reuse style and behaviour consistently between applications.

To the underlying code a button can be anything from as simple as <Button></Button> to a 3D object that spins on rollover and it will always behave in the same manner. This allows you to mock up a basic UI to design the User Interation model, and then have a developer write the code-behind, while a designer creates the final effects in parellel.
Provided you have agreed on the which controls will be used, and what names they are given, how they end up looking becomes irrelevant to  the developer.