The Content By Query webpart (CQWP) is one of the most powerful and most commonly used tools in SharePoint. On top of that it is also highly customizable. A big downside is that customizing the CQWP is tedious work. Especially if you do not want to alter SharePoint native files.
The CQWP simplifies working with Item Styles by introducing slots. A slot is a marker in the Item Style Template which is being filled with the content on runtime. The Content Query Web Part allows you to set the mappings between the slots and the fields using the property pane what allows you to create more semantic and reusable Item Style Templates!
Another great feature of the new Content Query Web Part is the Content to Content concept. Content to Content introduces two tokens that can be used in the Content Query Web Part filters. The PageQueryString token allows you to include in the query a value from a query string parameter and the PageFieldValue token gives you the possibility to filter the query results using a value of another field on the same page. This makes it extremely easy to provide functionality such as related content.
When I was working with the CQWP in SharePoint 2010 I found that most of the known nuisances are still there. For instance the ItemXslLink (and others) are still not configurable in the webpart configuration panel. But it seems one big improvement has been made: You do not longer have to set the CommonViewFields property (well, not if you do it right).