The CEDET collection is made up of several tools. Each tool has its own manual with details for that tool.
At the core of the CEDET suite is EIEIO, which is an Implementation of Emacs Interpreted Objects. This provides a CLOS like interface to writing object-oriented code in Emacs. EIEIO forms the base of most of the other tools, with the notable exception of Speedbar.
Several other tools form the next layer of CEDET functionality. For project management, EDE provides a simple way to create projects. You can create an EDE centric project, which uses either Makefiles, or AutoMakefiles, or it can wrap an automake based program you've already developed. You can also create simple EDE wrappers on top of any style of project. EDE provides a backgrop for any other CEDET tool that needs to know the filesystem scope of a code base, where include directories might be.
semantic provides another mid-level layer. semantic provides a set of tools for developing parsers for different languages, and an API for searching and manipulating tags generated from your source code. semantic also provides a wide range of core tag centric utilities such as enhanced tag decoration, code analysis, and the coveted “Smart Completion” feature.
Another mid-level tool is SRecode or the Semantic Recoder. SRecode is a template management system designed with the goal of providing a way to build code-generating applications that are easily modified or extended by users. At its core is a template authoring and insertion system. A minor mode provides a simple way to insert templates from the various template libraries.
Speedbar is a user interface tool that provides a narrow view into your filesystem and tags. Speedbar is also an API for designing other tools and is used for displaying EDE project information, Semantic smart completion options, Email, Info, and even GDB stack information.
Lastly, COGRE is a COnnected GRaph Editor. The core is an object design and library for drawing, saving, and restoring simple connected graphs. Built on this is a UML based tool which interfaces with Semantic Tag information to draw simple UML diagrams of your code. As of this writing COGRE is quite simple. Longer term plans include using COGRE as a way of manipulating source code indirectly.
All these tools depend on a suite of simple library functions, such as inversion, ezimage, pretty printing, and mode-local variables.