The documentation for XCB is sparse, and this can be very frustrating for programmers wanting to use it. Many of the tutorials you will find are based on older versions of the API and so will no longer work. Fortunately, the API itself is very simple. Most of the difficulty in learning how to use XCB comes from the need to understand the X11 protocol, which is very well documented.
If you are writing a new toolkit for X11 or updating an old one, then XCB is likely to be a better long-term prospect than Xlib. It exposes a clean asynchronous API, making remote X11 responsive when used correctly, and gets support for new extensions very quickly.