A recovery as the name suggests is a partition of the phone system hidden to the normal user that can be used to reset or basically recover the phone in case something goes wrong. Almost all Android devices come with a recovery and usually different button combinations to access recovery mode. This pre-installed recovery by the phone manufacturer is what many of us refer to as the stock recovery. Stock recovery allows for some basic recovery functions like resetting a device to factory setting and manually installing any provided software packages by the manufacturer.
This recovery however is limited in functionality. Individual developers have built more advanced recoveries that users can install on their phones. That normally requires you to have root access to install one. The recoveries built by individuals are what we refer to as custom recoveries. They are custom recoveries because they come with a lot of custom features and functionality. Stock recoveries don’t come with touch screen ability but custom recoveries allow so. Custom recoveries allow users not only to reset a device but to flash any zip file provided by anyone for example SuperSU zip to root a device, wipe and repartition SD Cards, create a full system backup, and what seems to be the most import function: to flash custom roms.
The most common custom recoveries used are ClockworkMod Recovery, Philz Touch Recovery and TWRP Recovery. Any that you prefer to use with give you better fuctionality over stock recovery but in case you main interest is to flash a custom rom, you may use the one recommended by the developer of that specific rom.