What's ADB and why is it used for? How do I install it on my device? There are mentions about ADB on various questions and answers on this site. I'm not exactly sure what ADB is, what it does, how it works and where I can get it: there's little information on the tag wiki besides the link for ADB on the android developer site.

On the site itself, the language is a bit too technical, and there is no information on how to install it or get it working, only a list of commands. This may seem obvious for a developer but may not be for some users.

What is the purpose, usage and installation procedure for ADB?
ADB is the acronym for Android Debug Bridge, which is part of the Android SDK (Software Development Kit). It uses a client-server-model (i.e. adbd, the ADB daemon, is running on the device and can be connected to), and in most cases is used via an USB connection. It is also possible to use it via WiFi (wireless adb).
There's nothing you need to install on your Android device, as the ADB daemon (adbd) is already integrated into the Android OS. It is usually accessed via a command line interface from the PC, where either the full Android SDK is installed (several 30 MB download archive currently), or a massively stripped-down version for &quot;non-developers&quot;, sometimes referred to as &quot;Mini ADB&quot; or &quot;ADB essentials&quot; (for Linux, this is only the adb executable; for Windows it's adb.exe plus two or three .dll files):
adb [-d|-e|-s &lt;serialNumber&gt;] &lt;command&gt;

(serialNumber is only needed if there are multiple devices connected at the same time, so you have to specify the target)
It would become a rather long answer to explain all the options/commands available to adb. So I will only name some of the more important:

adb backup / adb restore: To backup/restore your device, either single apps with/without their data, or data with/without their apps, up to a full backup of all apps and data, including system apps
adb push / adb pull: copy files to/from the device
adb shell: open a shell on the device to execute commands directly
adb logcat / adb bugreport: display the system log or generate a complete bug report including system log, device information and more
adb [un]install: (un) install an app

This is just a small selection. There are additional commands for scripting, and especially adb shell has a lot of options (basically, all Linux and Java commands available on the device can be run through it).
Useful references

Everything about ADB (A reference for everyone at XDA Developers)
ADB for Dummies (again available via SDK Developers. If you miss the guides as I did firstly: The first article is consisting of links only, colorful as they might look :))
Android ADB Quick Guide