* It doesn't really do much for you (have to spend lots of effort/time/learning plumbing in all the 3rd party libs)
* Lacks sensible defaults for many things
* Documentation is rather lacking. Oh, there's tons of it, but it's rather maze-like and hard to use if you don't actually understand the system. High-level overview/cookbook type stuff is severely lacking.
I do agree about Pyramid's initial learning curve being a bit steep (or, at least it was more than a year ago when I was first picking it up). Still, I fell in love with Pyramid because it didn't try to do much for me.
My previous company has a huge SQLAlchemy-based codebase with literally hundreds of defined classes, many with hugely complex relationships (as it was built on top of a legacy database that had accreted over many years). Switching to a non-Alchemy backend simply wasn't an option. They also have a large, complex web application built in Zope with hundreds of tested, working page templates. Django is the easy first choice when starting a new Python web app. However, if we'd replaced the Django ORM with SQLAlchemy and Django's templates with something like ZPT so that we could incorporate our large pre-existing code, there wouldn't have been a lot of Django we could still use. In particular, the admin would have been virtually unusable without a large amount of reimplementation to adapt it to our internal code.
Pyramid was a big win for us in that it used our preferred backend choices by default. More importantly, though, was that it's comparatively very easy to change those defaults without losing the rest of Pyramid's features. After a couple of hours of experimenting with integrating our legacy codebase, I had new pages up and running.
I have nothing bad to say about Django and I've used it successfully in other projects. It's a neat framework with a lot of talented people behind it. But Pyramid has its own charms, especially for those who absolutely need to do things their own way.
http://en.wikipedia.org/wiki/Pyramid_%28web_framework%29
* faster.
* better quality (100% statement coverage via unit tests)
* supports latest python.
* great documentation (including free up to date book). There's also a separate pyramid cookbook.
* simplicity. If you just see a pyramid app, you can dive right in fairly easily without learning lots of alien stuff.
* sensible defaults, and you can choose to swap out parts easily if you want (templates, ORM, etc).
* works well with other python software, doesn't bundle everything in, with NIH syndrome.
* great tools. like the web console that drops straight into a debugger when an exception happens on the page you're looking at.
The framework that starts with D is a legacy framework (doesn't even support python3 yet).