Geometric objects, or geoms for short, is one of the components of a layer, and controls the "type" of plot that you create. For example, using a geom_point will create a scatterplot, while using a geom_line will create a line plot. We can classify geoms by their dimensionality:
Geometric objects represent an abstract component and can be render in different ways. For example, there are many possible renderings of geom_interval: geom_linerange, geom_crossbar, geom_bar, geom_ribbon, ...
Geoms are mostly general purpose, but some are connected to a specific statistic. For example, the geom_boxplot is understood to be based on statistics generated in a specific, well-defined manner (from stat_boxplot). Using a different stat with a geom_boxplot doesn't make much sense. For this reason, every geom has a default statistic, and every statistic a default geom. For example, the stat_bin defaults to using the geom_bar to produce a histogram. Over-riding these defaults will still produce valid plots, but they may violate graphical conventions.
Each geom can only display certain aesthetics. For example, a point geom has position, colour, and size aesthetics. A bar geom has all those, plus height, width and fill colour. Different parameterisations may be useful. For example, instead of location and dimension, we could parameterise the bar with locations representing the four corners. Parameterisations which involve dimension (e.g. height and width) only make sense for Cartesian coordinate systems, so purely location based parameterisations are used internally.
All geoms are named in the singular, and have the same basic arguments: aesthetic mapping, data, and extra parameters. The extra parameters include all aesthetics, which set the aesthetic to a fixed value instead of mapping it to a variable in the data.