http://blogs.msdn.com/b/b8/archive/2012/07/25/simplifying-printing-in-windows-8.aspx
One of the things that we needed to figure out was how to give Metro app developers the ability to print. Printing from win32 applications requires knowledge of graphics programming, either GDI (Graphics Device Interface) or XPS (XML Paper Specification). When we looked at how we could make printing possible from Windows 8 apps, we completely reinvented how we enable printing from the Windows Runtime, and we made printing very easy to use from HTML5/JavaScript and XAML/C# apps.
My take, FWIW of course, it that MS obviously didn't want to rely on Google Cloud Print [ http://www.google.com/cloudprint/learn/ ] for their new cells & tablets, so, meet v. 4. IN a nutshell win8 sends the printer a XPS doc -- Microsoft's version of PDF that didn't quite muscle Adobe Acrobat out of the marketplace. Printer drivers in turn just have to be able to accept XPS & print it -- simple enough that win8 will ship with loads of printer drivers built-in. Printer makers can optionally supply the more traditional dialogs & options you're used to if you're using the desktop, along with Metro applets doing the same sort of thing when you're not. [Hmmmm, maybe Canon's will print a true red again?.]