I have a web app that needs to generate printable official documents, and it's really not possible to do a good job with CSS. I resort to generating PDF in Javascript, which is laborious and duplicates a lot of effort.
My biggest gripe is the inability to control the header and footer and the inability to sanely specify where page breaks are allowed.