Robert,
I think the ultimate resource you can use on this beyond the documentation is the django source code itself.
It may look confusing at first, but if you check out the class hierarchy from the starting points in the docs, how classes are related and mix-ins are used, you gain a lot of insight you don't and can't
get from the docs. With that understanding you are able to author with your own CBVs derived from the bits provided by Django to create a great deal of customisation for you applications where the stock ones may not fit.
There is no better teacher than trying things yourself, working out what went wrong when it does not work.
But I'll provide a nutshell version:
Essentially a CBV is a class that provides functionality around dispatching a web request. At the core is the
dispatch() method, which passes the request onto specific method handlers. Anything else beyond that supports more specific use cases that usually simplifies handling the request - i.e. templates -
and each of those provides its own set of patterns.
HTH,
/d