The Darwin and Mendel Repraps were designed to extrude PLA plastic.
People have developed many ways of improving on the original extruder.
It didn't take long before people starting trying to make them extrude other pastes, including ABS and even delicious frosting: Frostruder[1].
RepRap forums: "Frostruder MK2 = Granular extruder?"[2].

Contents

cold end

The "Cold End" is usually the bulk of the extruder. It is often the actual carriage on one axis and supports the rest of the parts. In some designs, the "Cold End" is split into two parts; one part does the driving of the filament that is stationary and connected to the carriage portion, of a lighter weight design for easier movement, with a flexible tube. The drive is a motor that rotates a knurled, hobbed, or toothed pinch wheel against a pressure plate or bearing with the filament forced between them. Usually, the motor is geared to the pinch wheel to increase available torque and extrusion control (smoothness). The gearing can be a 3D printed pinion and gear, stock worm wheel and gear, or a more expensive integral motor gearbox. Stepper motors are used almost universally after initial trials with DC motors did not achieve the required repeatability. Servo motors are an option, though they are not seen in the literature yet. The final function, some form of cooling, keeps the "Cold End" cold. With the close proximity to the "Hot End" and possible heated build platforms and enclosures, it is sometimes necessary to have additional passive or active cooling of the cold end parts. Heat sinks and fans are often used; water and Peltier effect cooling is also discussed. Much of this bulk is usually made from 3D printed parts and the temperature is maintained within safe limits.

hot end attachment

The "Cold End" is connected to the "Hot End" across a thermal break or insulator (the Bowden tube if used is on the cold side of this thermal break). This has to be rigid and accurate enough to reliably pass the filament from one side to the other, but still prevent much of the heat transfer. The materials of choice are usually PEEK plastic with PTFE liners or PTFE with stainless steel mechanical supports or a combination of all three. A Hot End is frequently joined to the Cold End using a Groove Mount where the thermal break or insulator is part of the Hot End assembly and the Cold End body is provisioned with a cylindrical recess.

Many cold ends push the filament out a large hole centered between 2 small holes about 50 mm apart. (Is there a name for this de-facto standard?)
Some people rigidly attach a groove mount hot end to such a cold end with the mounting plate adapter and two short bolts.
A few people put 2 long bolts through those holes and then put a spring around those bolts to make a spring extruder.

hot end

The "Hot End" is the active part of the 3D printer that melts the filament. It allows the molten plastic to exit from the small nozzle to form a thin and tacky bead of plastic that will adhere to the material it is laid on.
The first RepRap hot end was made of brass. Researchers have also made hot ends from glass or aluminium.
The hot end consists of a melting zone or chamber with two holes.
The cold end forces the filament into the hot end -- into the heating chamber of the hot end -- through one hole.
The molten plastic exits the heating chamber through the other hole at the tip.
The hole in the tip (nozzle) has a diameter of between 0.3mm and 1.0mm with typical size of 0.5mm with present generation extruders. Outside the tip of the barrel is a heating means, either a wire element or a standard wire wound resistor. The heat required is of the order of 20W with typical temperatures around 150 to 250 degrees Centigrade. For feedback control of the nozzle temperature, a thermistor is usually attached close to the nozzle, though a thermocouple may serve with suitable control hardware. High temperature materials are needed here. These include metals, cements and glues, glass and mineral fibre materials, PEEK, PTFE and Kapton tape.

mount to rest of machine

The ways extruders are mounted on the rest of the machine have evolved over time into informal mounting standards.
These informal standards include
the Vertical X Axis Standard,
the Quick-fit extruder mount,
the OpenX mount,
etc.
Such de-facto standards allows new extruder designs to be tested on existing printer frames,
and new printer frame designs to use existing extruders.
(Does the "greg-adapter.scad" adapter in the Prusa i3 Build Manuallet me mount an OpenX extruder on a Vertical X Axis machine?)

categorizing extruders on the wiki

Add extruders to this "extruders" category by adding {{tag|extruders}} anywhere on the wiki page about that extruder (typically in the "categories" section of the development template).
Also add the appropriate sub-category(s) --
{{tag|Cold End}} or
{{tag|Hot End‎}} or
{{tag|Paste Extruders}} or
etc.
-- in the same section of that wiki page.