The comma category of two functors $f : C \to E$ and $g : D \to E$ is like an arrow category of $E$ where all arrows have their source in the image of $f$ and their target in the image of $g$ (and the morphisms between arrows keep track of how these sources and targets are in these images). It is a kind of 2-pullback: a directed refinement of the homotopy pullback of two functors between groupoids.
We discuss three equivalent definitions of comma categories
The terminology “comma category” is a holdover from the original notation $(f,g)$ for such a category, which generalises $(x,y)$ or $C(x,y)$ for a hom-set.
Another common notation for the comma category is $(f\downarrow g)$. The original notation, from which the terminology is derived, is $(f,g)$, but this is rarely used any more.
If $f:C\to E$ and $g:D\to E$ are functors, their comma category is the category $(f/g)$ whose
objects are triples $(c,d,\alpha)$ where $c\in C$, $d\in D$, and $\alpha:f(c)\to g(d)$ is a morphism in $E$, and whose
morphisms from $(c_1,d_1,\alpha_1)$ to $(c_2,d_2,\alpha_2)$ are pairs $(\beta,\gamma)$, where $\beta:c_1\to c_2$ and $\gamma:d_1\to d_2$ are morphisms in $C$ and $D$, respectively, such that $\alpha_2 . f(\beta) = g(\gamma) . \alpha_1$.
Let $I = \{a \to b\}$ be the (directed) interval category and $E^I = Funct(I,E)$ the functor category.
The comma category is the pullback
(in the 1-category Cat of categories).
Compare this with the construction at generalized universal bundle and with the definition of loop space object.
Alternatively, the comma category is the “lax pullback” – or rather the comma object (see the discussion at 2-limit) of the pullback diagram,
i.e. the universal cone? that commutes up to a natural transformation
In terms of the imagery of loop spaces objects, the comma category is the category of directed paths in $E$ which start in the image of $f$ and end in the image of $g$.
If $f$ and $g$ are both the identity functor of a category $C$, then $(f/g)$ is the category $C ^{\mathbf{2}}$ of arrows in $C$.
If $f$ is the identity functor of $C$ and $g$ is the inclusion $1\to C$ of an object $c\in C$, then $(f/g)$ is the slice category $C/c$.
Likewise if $g$ is the identity and $f$ is the inclusion of $c$, then $(f/g)$ is the coslice category $c/C$.
The comma category $(f/g)$ comes with a canonical 2-cell in the square
which is universal in the 2-category Cat; that is, it is an example of a 2-limit (in fact, it is a strict 2-limit). Squares with the same universal property in an arbitrary 2-category are called comma squares and their top left vertex is called a comma object.
See at
a low-tech description with several special cases identified in somewhat archaic terminology