The flow accumulation algorithm essentially determines the upstream contributing area of every grid cell; in other words, what area or how many other cells will drain into a given cell. The flow accumulation algorithm is independent of rainfall as it simply determines which areas drain where, which will later be used to determine how much water actually flows based on the rainfall event and the area on which the rain actually occurs. However, the first step is just to figure out the flow directions.
The flow accumulation is typically done as part of a series of algorithms with a given DEM to determine where the river network exists and what the catchment boundaries are. This type of analysis is required in order to delineate watersheds (i.e. determine where the watershed boundaries are and how large they are) and create the building blocks for a hydrologic model, which is used to simulate the rainfall-runoff response and flows at given points, among other processes.
The flow accumulation algorithm typically used is the D8 algorithm, although if you look into the literature there are lots of versions and variations on determining flow accumulation. I am not familiar with the richdem python algorithm, but the units will be some measure of either upstream contributing area or number of upstream units in every grid cell. You will notice that the areas downstream and near outlets of watersheds have higher values, indicating that those areas receive larger contributing areas from the rest of the watershed. The next step in the analysis, likely a flow network tool, will use the grid cells with the largest flow accumulation values to determine the existence of a river network based on high accumulation values (with some value as a threshold).
The ESRI page has a good discussion on how flow accumulation works as well.
Watershed delineation can be done automatically from a DEM layer, and there are a huge number of tools to do so. Here are some tutorials and guides with GIS software, other tools exist in R or python (as you pointed out).
ArcGIS Watershed Delineation Tutorial with Arc 10.2
QGIS Watershed Delineation Example
Note that prior to the use of DEM tools, contour maps would be used to delineate watersheds by hand. This is done essentially by drawing outlines which cross contours perpendicularly through high areas, and encompass the watershed. A couple examples of that here for you as well. Note that these will not have flow accumulation since that cannot be done easily by hand, that is only a step using the computational tools.
US Department of Agriculture Example
Miscellaneous contour example and slides